summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2007-07-14 15:36:49 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2007-07-14 15:36:49 +0200
commitb449ef7374b3a14795323e4dd80acbc37cca5a60 (patch)
treeceda5fc25d697efd1ce66d80d23c2d34faf4faa4 /lib
parent8dc7fe16484c21a9ae096910834e6bad9f815bf6 (diff)
downloadbarebox-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.c4
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;