cpuidle: add cpuidle_unregister_driver() error check

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

Signed-off-by: Len Brown <len.brown@intel.com>

Len Brown c0d64cb0 6b2c676b

+4 -1
+4 -1
drivers/cpuidle/driver.c
··· 45 */ 46 void cpuidle_unregister_driver(struct cpuidle_driver *drv) 47 { 48 - if (!drv) 49 return; 50 51 spin_lock(&cpuidle_driver_lock); 52 cpuidle_curr_driver = NULL;
··· 45 */ 46 void cpuidle_unregister_driver(struct cpuidle_driver *drv) 47 { 48 + if (drv != cpuidle_curr_driver) { 49 + WARN(1, "invalid cpuidle_unregister_driver(%s)\n", 50 + drv->name); 51 return; 52 + } 53 54 spin_lock(&cpuidle_driver_lock); 55 cpuidle_curr_driver = NULL;