lkml.org 
[lkml]   [2015]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.1 75/78] arm64: perf: fix unassigned cpu_pmu->plat_device when probing PMU PPIs
    Date
    4.1-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Shannon Zhao <shannon.zhao@linaro.org>

    commit b265da5a45ce60bd3d7505cc0eaa6cfba50946a1 upstream.

    Commit d795ef9aa831 ("arm64: perf: don't warn about missing
    interrupt-affinity property for PPIs") added a check for PPIs so that
    we avoid parsing the interrupt-affinity property for these naturally
    affine interrupts.

    Unfortunately, this check can trigger an early (successful) return and
    we will not assign the value of cpu_pmu->plat_device. This patch fixes
    the issue.

    Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Cc: Kefeng Wang <wangkefeng.wang@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/arm64/kernel/perf_event.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/arch/arm64/kernel/perf_event.c
    +++ b/arch/arm64/kernel/perf_event.c
    @@ -1318,7 +1318,7 @@ static int armpmu_device_probe(struct pl
    /* Don't bother with PPIs; they're already affine */
    irq = platform_get_irq(pdev, 0);
    if (irq >= 0 && irq_is_percpu(irq))
    - return 0;
    + goto out;

    irqs = kcalloc(pdev->num_resources, sizeof(*irqs), GFP_KERNEL);
    if (!irqs)
    @@ -1355,6 +1355,7 @@ static int armpmu_device_probe(struct pl
    else
    kfree(irqs);

    +out:
    cpu_pmu->plat_device = pdev;
    return 0;
    }



    \
     
     \ /
      Last update: 2015-09-12 01:21    [W:4.171 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site