x86: PM: Make APM idle driver initialize polling state
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 6 Feb 2018 17:55:12 +0000 (18:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Feb 2018 14:42:18 +0000 (15:42 +0100)
commit f859422075165e32c00c8d75d63f300015cc07ae upstream.

Update the APM driver overlooked by commit 1b39e3f813b4 (cpuidle: Make
drivers initialize polling state) to initialize the polling state like
the other cpuidle drivers modified by that commit to prevent cpuidle
from crashing.

Fixes: 1b39e3f813b4 (cpuidle: Make drivers initialize polling state)
Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: 4.14+ <stable@vger.kernel.org> # 4.14+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/apm_32.c

index e4b0d92..2a7fd56 100644 (file)
@@ -2389,6 +2389,7 @@ static int __init apm_init(void)
        if (HZ != 100)
                idle_period = (idle_period * HZ) / 100;
        if (idle_threshold < 100) {
+               cpuidle_poll_state_init(&apm_idle_driver);
                if (!cpuidle_register_driver(&apm_idle_driver))
                        if (cpuidle_register_device(&apm_cpuidle_device))
                                cpuidle_unregister_driver(&apm_idle_driver);