History

cpuidle: add cpuidle_unregister_driver() error check

Assure that cpuidle_unregister_driver() will not clobber the registered driver if unregistered by somebody else.

Len Brown committed 16 years ago

Commit c0d64cb1 parent 6b2c6761 file · +4 −1Browse files

Unified · Split

drivers/cpuidle/driver.c+4−1
@@ -45,8 +45,11 @@ EXPORT_SYMBOL_GPL(cpuidle_register_driver); · 44 unmodified lines
4545 */
4646 void cpuidle_unregister_driver(struct cpuidle_driver *drv)
4747 {
48− if (!drv)
48+ if (drv != cpuidle_curr_driver) {
49+ WARN(1, "invalid cpuidle_unregister_driver(%s)\n",
50+ drv->name);
4951 return;
52+ }
5053
5154 spin_lock(&cpuidle_driver_lock);
5255 cpuidle_curr_driver = NULL;