perf/imx_ddr: Fix cpu hotplug state cleanup
authorLeonard Crestez <leonard.crestez@nxp.com>
Tue, 14 Jan 2020 20:25:46 +0000 (22:25 +0200)
committerWill Deacon <will@kernel.org>
Wed, 15 Jan 2020 12:48:40 +0000 (12:48 +0000)
commit9ee68b314e9aa63ed11b98beb8a68810b8234dcf
tree5cf36a7f44929065ca29a642de9e387b9da1e956
parent73daf0bba32604a1b414b9ef429cd25aeae5b95e
perf/imx_ddr: Fix cpu hotplug state cleanup

This driver allocates a dynamic cpu hotplug state but never releases it.
If reloaded in a loop it will quickly trigger a WARN message:

"No more dynamic states available for CPU hotplug"

Fix by calling cpuhp_remove_multi_state on remove like several other
perf pmu drivers.

Also fix the cleanup logic on probe error paths: add the missing
cpuhp_remove_multi_state call and properly check the return value from
cpuhp_state_add_instant_nocalls.

Fixes: 9a66d36cc7ac ("drivers/perf: imx_ddr: Add DDR performance counter support to perf")
Acked-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Will Deacon <will@kernel.org>
drivers/perf/fsl_imx8_ddr_perf.c