diff options
Diffstat (limited to 'drivers/base/driver.c')
| -rw-r--r-- | drivers/base/driver.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/base/driver.c b/drivers/base/driver.c index 207c27ddf828..974e301a1ef0 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c | |||
| @@ -185,8 +185,12 @@ int driver_register(struct device_driver *drv) | |||
| 185 | if (ret) | 185 | if (ret) |
| 186 | return ret; | 186 | return ret; |
| 187 | ret = driver_add_groups(drv, drv->groups); | 187 | ret = driver_add_groups(drv, drv->groups); |
| 188 | if (ret) | 188 | if (ret) { |
| 189 | bus_remove_driver(drv); | 189 | bus_remove_driver(drv); |
| 190 | return ret; | ||
| 191 | } | ||
| 192 | kobject_uevent(&drv->p->kobj, KOBJ_ADD); | ||
| 193 | |||
| 190 | return ret; | 194 | return ret; |
| 191 | } | 195 | } |
| 192 | EXPORT_SYMBOL_GPL(driver_register); | 196 | EXPORT_SYMBOL_GPL(driver_register); |
