aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/netdevice.h
diff options
context:
space:
mode:
authorGuillaume Chazarain <guichaz@gmail.com>2010-11-06 06:39:32 +0000
committerDavid S. Miller <davem@davemloft.net>2010-11-08 12:17:07 -0800
commit18543a643fae694982c7d89c22436885f3506497 (patch)
tree0674a2db40dcfd1d5c6999f600df6c8147f73df3 /include/linux/netdevice.h
parentskge: Remove tx queue stopping in skge_devinit() (diff)
downloadlinux-dev-18543a643fae694982c7d89c22436885f3506497.tar.xz
linux-dev-18543a643fae694982c7d89c22436885f3506497.zip
net: Detect and ignore netif_stop_queue() calls before register_netdev()
After e6484930d7c73d324bccda7d43d131088da697b9: net: allocate tx queues in register_netdevice These calls make net drivers oops at load time, so let's avoid people git-bisect'ing known problems. Signed-off-by: Guillaume Chazarain <guichaz@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/netdevice.h')
-rw-r--r--include/linux/netdevice.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 072652d94d9f..d8fd2c23a1b9 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1554,6 +1554,11 @@ static inline void netif_tx_wake_all_queues(struct net_device *dev)
static inline void netif_tx_stop_queue(struct netdev_queue *dev_queue)
{
+ if (WARN_ON(!dev_queue)) {
+ printk(KERN_INFO "netif_stop_queue() cannot be called before "
+ "register_netdev()");
+ return;
+ }
set_bit(__QUEUE_STATE_XOFF, &dev_queue->state);
}