Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 145372
b: refs/heads/master
c: 5c8563d
h: refs/heads/master
v: v3
  • Loading branch information
Kay Sievers authored and Greg Kroah-Hartman committed May 28, 2009
1 parent f7049fc commit 15f5f88
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 086a377edc969aea6c761176a7e4ff68f264d6fe
refs/heads/master: 5c8563d773c0e9f0ac2a552e84806decd98ce732
4 changes: 3 additions & 1 deletion trunk/drivers/base/bus.c
Original file line number Diff line number Diff line change
Expand Up @@ -700,8 +700,10 @@ int bus_add_driver(struct device_driver *drv)
}

kobject_uevent(&priv->kobj, KOBJ_ADD);
return error;
return 0;
out_unregister:
kfree(drv->p);
drv->p = NULL;
kobject_put(&priv->kobj);
out_put_bus:
bus_put(bus);
Expand Down
5 changes: 4 additions & 1 deletion trunk/drivers/base/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -879,7 +879,7 @@ int device_add(struct device *dev)
}

if (!dev_name(dev))
goto done;
goto name_error;

pr_debug("device: '%s': %s\n", dev_name(dev), __func__);

Expand Down Expand Up @@ -978,6 +978,9 @@ int device_add(struct device *dev)
cleanup_device_parent(dev);
if (parent)
put_device(parent);
name_error:
kfree(dev->p);
dev->p = NULL;
goto done;
}

Expand Down
4 changes: 4 additions & 0 deletions trunk/drivers/base/driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,10 @@ EXPORT_SYMBOL_GPL(driver_register);
*/
void driver_unregister(struct device_driver *drv)
{
if (!drv || !drv->p) {
WARN(1, "Unexpected driver unregister!\n");
return;
}
driver_remove_groups(drv, drv->groups);
bus_remove_driver(drv);
}
Expand Down

0 comments on commit 15f5f88

Please sign in to comment.