diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2007-07-14 15:36:49 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2007-07-14 15:36:49 +0200 |
commit | b449ef7374b3a14795323e4dd80acbc37cca5a60 (patch) | |
tree | ceda5fc25d697efd1ce66d80d23c2d34faf4faa4 /lib | |
parent | 8dc7fe16484c21a9ae096910834e6bad9f815bf6 (diff) | |
download | barebox-b449ef7374b3a14795323e4dd80acbc37cca5a60.tar.gz barebox-b449ef7374b3a14795323e4dd80acbc37cca5a60.tar.xz |
fix silly bug in unregister_device(). When unregistering devices
we have to compare the device pointers and not the names.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/driver.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/driver.c b/lib/driver.c index 60d221ba0a..5ec67b491b 100644 --- a/lib/driver.c +++ b/lib/driver.c @@ -125,12 +125,12 @@ void unregister_device(struct device_d *old_dev) { struct device_d *dev; - debug("unregister_device: %s\n",old_dev->name); + debug("unregister_device: %s:%s\n",old_dev->name, old_dev->id); dev = first_device; while (dev) { - if (!strcmp(dev->next->name, old_dev->name)) { + if (dev->next == old_dev) { if (old_dev->driver) old_dev->driver->remove(old_dev); dev->next = old_dev->next; |