add some debug messages for device user count
authorFelix Fietkau <nbd@openwrt.org>
Thu, 12 Jul 2012 21:17:38 +0000 (23:17 +0200)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 12 Jul 2012 21:22:24 +0000 (23:22 +0200)
device.c

index f0361d930f2fc1dca03c1f00cb4aa5df9aa9ea47..bc5bc46335d3a71036286515d286919f1f0f0439 100644 (file)
--- a/device.c
+++ b/device.c
@@ -389,6 +389,17 @@ void device_set_present(struct device *dev, bool state)
        device_refresh_present(dev);
 }
 
+static int device_refcount(struct device *dev)
+{
+       struct list_head *list;
+       int count = 0;
+
+       list_for_each(list, &dev->users)
+               count++;
+
+       return count;
+}
+
 void device_add_user(struct device_user *dep, struct device *dev)
 {
        struct list_head *head;
@@ -406,6 +417,7 @@ void device_add_user(struct device_user *dep, struct device *dev)
        else
                head = &dev->users;
        list_add_tail(&dep->list, head);
+       D(DEVICE, "Add user for device '%s', refcount=%d\n", dev->ifname, device_refcount(dev));
 
        if (dep->cb && dev->present) {
                dep->cb(dep, DEV_EVENT_ADD);
@@ -446,6 +458,7 @@ void device_remove_user(struct device_user *dep)
 
        list_del(&dep->list);
        dep->dev = NULL;
+       D(DEVICE, "Remove user for device '%s', refcount=%d\n", dev->ifname, device_refcount(dev));
        __device_free_unused(dev);
 }