Commit ec30f343d61391ab23705e50a525da1d55395780

Authored by Shaohua Li
Committed by Linus Torvalds
1 parent 34686fe689

fix a shutdown regression in intel_idle

Fix a shutdown regression caused by 2a2d31c8dc6f ("intel_idle: open
broadcast clock event").  The clockevent framework can automatically
shutdown broadcast timers for hotremove CPUs.  And we get a shutdown
regression when we shutdown broadcast timer for hot remove CPU, so just
delete some code.

Also fix some section mismatch.

Reported-by: Ari Savolainen <ari.m.savolainen@gmail.com>
Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Tested-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 1 changed file with 2 additions and 6 deletions Side-by-side Diff

drivers/idle/intel_idle.c
... ... @@ -263,7 +263,7 @@
263 263 clockevents_notify(reason, &cpu);
264 264 }
265 265  
266   -static int __cpuinit setup_broadcast_cpuhp_notify(struct notifier_block *n,
  266 +static int setup_broadcast_cpuhp_notify(struct notifier_block *n,
267 267 unsigned long action, void *hcpu)
268 268 {
269 269 int hotcpu = (unsigned long)hcpu;
270 270  
... ... @@ -273,15 +273,11 @@
273 273 smp_call_function_single(hotcpu, __setup_broadcast_timer,
274 274 (void *)true, 1);
275 275 break;
276   - case CPU_DOWN_PREPARE:
277   - smp_call_function_single(hotcpu, __setup_broadcast_timer,
278   - (void *)false, 1);
279   - break;
280 276 }
281 277 return NOTIFY_OK;
282 278 }
283 279  
284   -static struct notifier_block __cpuinitdata setup_broadcast_notifier = {
  280 +static struct notifier_block setup_broadcast_notifier = {
285 281 .notifier_call = setup_broadcast_cpuhp_notify,
286 282 };
287 283