[PATCH] libertas cs/sdio: fix 'NOHZ: local_softirq_pending 08' message

Holger Schurig hs4233 at mail.mn-solutions.de
Wed Jan 16 09:48:44 EST 2008


Acked-by: Holger Schurig <hs4233 at mail.mn-solutions.de>

> This patch is against 2.6.24-rc8 and has only been tested with
> the sdio interface, please test it with usb.

The patch should be against wireless-2.6, branch everything. I'm
adding a revised version:


----

netif_rx should be called only from interrupt context. if_cs and if_sdio receive
packets from other contexts, and thus should call netif_rx_ni.

Signed-off-by: Marc Pignat <marc.pignat at hevs.ch>

Index: wireless-2.6/drivers/net/wireless/libertas/rx.c
===================================================================
--- wireless-2.6.orig/drivers/net/wireless/libertas/rx.c	2008-01-16 16:45:12.000000000 +0100
+++ wireless-2.6/drivers/net/wireless/libertas/rx.c	2008-01-16 16:45:42.000000000 +0100
@@ -247,7 +247,10 @@ int lbs_process_rxed_packet(struct lbs_p
 	priv->stats.rx_packets++;
 
 	skb->protocol = eth_type_trans(skb, dev);
-	netif_rx(skb);
+	if (in_interrupt())
+		netif_rx(skb);
+	else
+		netif_rx_ni(skb);
 
 	ret = 0;
 done:



More information about the libertas-dev mailing list