aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner2016-12-22 04:14:06 -0600
committerThomas Gleixner2016-12-25 03:47:40 -0600
commit26242b330093fd14c2e94fb6cbdf0f482ab26576 (patch)
treef21e73b34c9f07a1b078eb6c55f27f1f2630fde9
parent834fcd298003c10ce450e66960c78893cb1cc4b5 (diff)
downloadlinux-phy-26242b330093fd14c2e94fb6cbdf0f482ab26576.tar.gz
linux-phy-26242b330093fd14c2e94fb6cbdf0f482ab26576.tar.xz
linux-phy-26242b330093fd14c2e94fb6cbdf0f482ab26576.zip
bus: arm-ccn: Prevent hotplug callback leak
In case the driver registration fails, the hotplug callback is leaked. Not fatal, because it's never invoked as there are no instances registered, but wrong nevertheless. Fixes: fdc15a36d84e ("bus/arm-ccn: Convert to hotplug statemachine") Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Will Deacon <will.deacon@arm.com>
-rw-r--r--drivers/bus/arm-ccn.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c
index d1074d9b38ba..aee83462b796 100644
--- a/drivers/bus/arm-ccn.c
+++ b/drivers/bus/arm-ccn.c
@@ -1570,7 +1570,10 @@ static int __init arm_ccn_init(void)
1570 for (i = 0; i < ARRAY_SIZE(arm_ccn_pmu_events); i++) 1570 for (i = 0; i < ARRAY_SIZE(arm_ccn_pmu_events); i++)
1571 arm_ccn_pmu_events_attrs[i] = &arm_ccn_pmu_events[i].attr.attr; 1571 arm_ccn_pmu_events_attrs[i] = &arm_ccn_pmu_events[i].attr.attr;
1572 1572
1573 return platform_driver_register(&arm_ccn_driver); 1573 ret = platform_driver_register(&arm_ccn_driver);
1574 if (ret)
1575 cpuhp_remove_multi_state(CPUHP_AP_PERF_ARM_CCN_ONLINE);
1576 return ret;
1574} 1577}
1575 1578
1576static void __exit arm_ccn_exit(void) 1579static void __exit arm_ccn_exit(void)