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
45 */45 */
46void cpuidle_unregister_driver(struct cpuidle_driver *drv)46void cpuidle_unregister_driver(struct cpuidle_driver *drv)
47{47{
48 if (!drv)48 if (drv != cpuidle_curr_driver) {
49 WARN(1, "invalid cpuidle_unregister_driver(%s)\n",
50 drv->name);
49 return;51 return;
52 }
50 53
51 spin_lock(&cpuidle_driver_lock);54 spin_lock(&cpuidle_driver_lock);
52 cpuidle_curr_driver = NULL;55 cpuidle_curr_driver = NULL;