Thread (12 messages) 12 messages, 4 authors, 2013-11-22

[PATCH V4 2/2] arm64: perf: add support for percpu pmu interrupt

From: Will Deacon <hidden>
Date: 2013-11-20 18:00:59
Also in: lkml

On Wed, Nov 20, 2013 at 05:28:50PM +0000, Vinayak Kale wrote:
In Will's existing code, I think he was taking care of 'no IRQ' case
by comparing pmu_device->num_resources. Do you think this is not
enough and we must enforce the check after each platform_get_irq()?
Existing driver code snippet as below for quick reference.

[snip]
static int
armpmu_reserve_hardware(struct arm_pmu *armpmu)
{
        int i, err, irq, irqs;
        struct platform_device *pmu_device = armpmu->plat_device;

        if (!pmu_device) {
                pr_err("no PMU device registered\n");
                return -ENODEV;
        }

        irqs = min(pmu_device->num_resources, num_possible_cpus());
        if (irqs < 1) {
                pr_err("no irqs for PMUs defined\n");
                return -ENODEV;
        }
This bit is fine.
        for (i = 0; i < irqs; ++i) {
                err = 0;
                irq = platform_get_irq(pmu_device, i);
                if (irq < 0)
                         continue;
This is a bug, which you can fix in your patch. IRQ0 isn't valid.

Will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help