summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2005-06-22 16:09:05 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2005-06-22 23:01:10 -0700
commitd377e85b537a5e166272f937da6ba84350676b6e (patch)
treef3e5f347cbaa72a1479d991f7cab83228dd44bf0 /drivers/base
parent479f6ea85e513551510ad52f37e69e1c596ad356 (diff)
downloadlinux-d377e85b537a5e166272f937da6ba84350676b6e.tar.gz
linux-d377e85b537a5e166272f937da6ba84350676b6e.tar.bz2
linux-d377e85b537a5e166272f937da6ba84350676b6e.zip
[PATCH] driver core: Fix up the device_attach() error handling in bus_add_device()
Don't error out if something "bad" happens when trying to bind a driver to a device. We want the sysfs attributes to be present for later when we try to tear down the device. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/bus.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/base/bus.c b/drivers/base/bus.c
index 43722af90bdd..c3fac7fd555e 100644
--- a/drivers/base/bus.c
+++ b/drivers/base/bus.c
@@ -270,10 +270,9 @@ int bus_add_device(struct device * dev)
if (bus) {
pr_debug("bus %s: add device %s\n", bus->name, dev->bus_id);
- error = device_attach(dev);
+ device_attach(dev);
klist_add_tail(&bus->klist_devices, &dev->knode_bus);
- if (error >= 0)
- error = device_add_attrs(bus, dev);
+ error = device_add_attrs(bus, dev);
if (!error) {
sysfs_create_link(&bus->devices.kobj, &dev->kobj, dev->bus_id);
sysfs_create_link(&dev->kobj, &dev->bus->subsys.kset.kobj, "bus");