[PATCH] netpoll: WARN_ONCE for start_xmit returns with interruptsenabled

From: DDD
Date: Wed Aug 19 2009 - 06:31:21 EST


The NETPOLL API requires that interrupts remain disabled in
netpoll_send_skb().

Add a WARN_ONCE when ndo_start_xmit returns with interrupts enabled
in netpoll_send_skb().

Signed-off-by: Dongdong Deng <dongdong.deng@xxxxxxxxxxxxx>
---
net/core/netpoll.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index df30feb..d38103f 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -319,6 +319,12 @@ static void netpoll_send_skb(struct netpoll *np, struct sk_buff *skb)

udelay(USEC_PER_POLL);
}
+
+ WARN_ONCE(!irqs_disabled(),
+ KERN_WARNING "netpoll_send_skb(): [net driver %s]"
+ "ndo_start_xmit() shouldn't return with interrupts"
+ "enabled!", dev->name);
+
local_irq_restore(flags);
}

--
1.6.0.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/