summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2005-06-23 01:09:05 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2005-06-23 08:01:10 +0200
commitd377e85b537a5e166272f937da6ba84350676b6e (patch)
treef3e5f347cbaa72a1479d991f7cab83228dd44bf0 /drivers
parent[PATCH] USB: fix hid core to return proper error code from probe (diff)
downloadlinux-d377e85b537a5e166272f937da6ba84350676b6e.tar.xz
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')
-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");