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); |