Message ID | 1387570873-20246-1-git-send-email-kamal@canonical.com |
---|---|
State | New |
Headers | show |
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c index e1f6860..7decd90 100644 --- a/drivers/cpuidle/cpuidle.c +++ b/drivers/cpuidle/cpuidle.c @@ -460,11 +460,13 @@ EXPORT_SYMBOL_GPL(cpuidle_register_device); */ void cpuidle_unregister_device(struct cpuidle_device *dev) { - struct cpuidle_driver *drv = cpuidle_get_cpu_driver(dev); + struct cpuidle_driver *drv; - if (dev->registered == 0) + if (!dev || dev->registered == 0) return; + drv = cpuidle_get_cpu_driver(dev); + cpuidle_pause_and_lock(); cpuidle_disable_device(dev);