diff options
Diffstat (limited to 'drivers/base/driver.c')
| -rw-r--r-- | drivers/base/driver.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/base/driver.c b/drivers/base/driver.c index c51f11bb29ae..8ae0f63602e0 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c | |||
| @@ -257,6 +257,10 @@ EXPORT_SYMBOL_GPL(driver_register); | |||
| 257 | */ | 257 | */ |
| 258 | void driver_unregister(struct device_driver *drv) | 258 | void driver_unregister(struct device_driver *drv) |
| 259 | { | 259 | { |
| 260 | if (!drv || !drv->p) { | ||
| 261 | WARN(1, "Unexpected driver unregister!\n"); | ||
| 262 | return; | ||
| 263 | } | ||
| 260 | driver_remove_groups(drv, drv->groups); | 264 | driver_remove_groups(drv, drv->groups); |
| 261 | bus_remove_driver(drv); | 265 | bus_remove_driver(drv); |
| 262 | } | 266 | } |
