aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/bus.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2005-06-22 19:09:05 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2005-06-23 02:01:10 -0400
commitd377e85b537a5e166272f937da6ba84350676b6e (patch)
treef3e5f347cbaa72a1479d991f7cab83228dd44bf0 /drivers/base/bus.c
parent479f6ea85e513551510ad52f37e69e1c596ad356 (diff)
[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/bus.c')
-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)
270 270
271 if (bus) { 271 if (bus) {
272 pr_debug("bus %s: add device %s\n", bus->name, dev->bus_id); 272 pr_debug("bus %s: add device %s\n", bus->name, dev->bus_id);
273 error = device_attach(dev); 273 device_attach(dev);
274 klist_add_tail(&bus->klist_devices, &dev->knode_bus); 274 klist_add_tail(&bus->klist_devices, &dev->knode_bus);
275 if (error >= 0) 275 error = device_add_attrs(bus, dev);
276 error = device_add_attrs(bus, dev);
277 if (!error) { 276 if (!error) {
278 sysfs_create_link(&bus->devices.kobj, &dev->kobj, dev->bus_id); 277 sysfs_create_link(&bus->devices.kobj, &dev->kobj, dev->bus_id);
279 sysfs_create_link(&dev->kobj, &dev->bus->subsys.kset.kobj, "bus"); 278 sysfs_create_link(&dev->kobj, &dev->bus->subsys.kset.kobj, "bus");