drivers/perf: arm_pmu: Fix failure path in PM notifier [Linux 4.14.137]

This Linux kernel change "drivers/perf: arm_pmu: Fix failure path in PM notifier" is included in the Linux 4.14.137 release. This change is authored by Will Deacon <will [at] kernel.org> on Mon Jul 29 11:43:48 2019 +0100. The commit for this change in Linux stable tree is 1cc390b (patch) which is from upstream commit 0d7fd70. The same Linux upstream change may have been applied to various maintained Linux releases and you can find all Linux releases containing changes from upstream 0d7fd70.

drivers/perf: arm_pmu: Fix failure path in PM notifier

commit 0d7fd70f26039bd4b33444ca47f0e69ce3ae0354 upstream.

Handling of the CPU_PM_ENTER_FAILED transition in the Arm PMU PM
notifier code incorrectly skips restoration of the counters. Fix the
logic so that CPU_PM_ENTER_FAILED follows the same path as CPU_PM_EXIT.

Cc: <stable@vger.kernel.org>
Fixes: da4e4f18afe0f372 ("drivers/perf: arm_pmu: implement CPU_PM notifier")
Reported-by: Anders Roxell <anders.roxell@linaro.org>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

There are 2 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/perf/arm_pmu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/perf/arm_pmu.c b/drivers/perf/arm_pmu.c
index 5e06917..22e365f 100644
--- a/drivers/perf/arm_pmu.c
+++ b/drivers/perf/arm_pmu.c
@@ -751,8 +751,8 @@ static int cpu_pm_pmu_notify(struct notifier_block *b, unsigned long cmd,
        cpu_pm_pmu_setup(armpmu, cmd);
        break;
    case CPU_PM_EXIT:
-       cpu_pm_pmu_setup(armpmu, cmd);
    case CPU_PM_ENTER_FAILED:
+       cpu_pm_pmu_setup(armpmu, cmd);
        armpmu->start(armpmu);
        break;
    default:

Leave a Reply

Your email address will not be published. Required fields are marked *