net: Add a WARN_ON_ONCE() to the transmit timeout function
authorArjan van de Ven <arjan@linux.intel.com>
Fri, 2 May 2008 23:21:07 +0000 (16:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 May 2008 23:21:07 +0000 (16:21 -0700)
WARN_ON_ONCE() gives a stack trace including the full module list.
Having this in the kernel dump for the timeout case in the
generic netdev watchdog will help us see quicker which driver
is involved. It also allows us to collect statistics
and patterns in terms of which drivers have this event occuring.

Suggested by Andrew Morton

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_generic.c

index b741618e4d54048e67dcf90e7d393e72a0541423..d355e5e47fe3a71aca1d151db1ce72429a069297 100644 (file)
@@ -219,6 +219,7 @@ static void dev_watchdog(unsigned long arg)
                                printk(KERN_INFO "NETDEV WATCHDOG: %s: transmit timed out\n",
                                       dev->name);
                                dev->tx_timeout(dev);
+                               WARN_ON_ONCE(1);
                        }
                        if (!mod_timer(&dev->watchdog_timer, round_jiffies(jiffies + dev->watchdog_timeo)))
                                dev_hold(dev);