diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2005-06-22 16:09:05 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-06-22 23:01:10 -0700 |
commit | d377e85b537a5e166272f937da6ba84350676b6e (patch) | |
tree | f3e5f347cbaa72a1479d991f7cab83228dd44bf0 /drivers/base | |
parent | 479f6ea85e513551510ad52f37e69e1c596ad356 (diff) | |
download | linux-exynos-d377e85b537a5e166272f937da6ba84350676b6e.tar.gz linux-exynos-d377e85b537a5e166272f937da6ba84350676b6e.tar.bz2 linux-exynos-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.c | 5 |
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"); |