"waiting for %s to become free. Usage "
"count = %d\n",
dev->name, atomic_read(&dev->refcnt));
+#if defined(SUPPORT_TC)
+ /* decrement on ppp net work device reference count (refcnt)
+ * in sch_generic.c could result -1 and it should be reset to 0
+ */
+ if (atomic_read(&dev->refcnt) == -1 && strstr(dev->name, "ppp_")) {
+ printk("dev->name = %s, dev->refcnt=%d\n", dev->name, atomic_read(&dev->refcnt));
+ atomic_set(&dev->refcnt, 0);
+ printk("after reset to 0, dev->refcnt=%d\n", atomic_read(&dev->refcnt));
+ }
+#endif
+
+#if defined(CONFIG_MIPS_BRCM)
+ /* if eth? device reference counter goes to negative, reset to 0 and get out the while loop */
+ if (atomic_read(&dev->refcnt) < 0 && strstr(dev->name, "eth")) {
+ atomic_set(&dev->refcnt, 0);
+ printk("Reset to 0, dev->refcnt=%d.\n", atomic_read(&dev->refcnt));
+ }
+#endif
+
warning_time = jiffies;
}
}