From: Stephen Hemminger Date: Fri, 1 Dec 2006 22:29:36 +0000 (-0800) Subject: [PATCH] sky2: kfree_skb_any needed X-Git-Tag: v2.6.20-rc1~34^2~40^2~463^2~15 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=794b2bd20f620892616b09466186ff27101d9e5b;p=linux-2.6 [PATCH] sky2: kfree_skb_any needed It is possible for the sky2 driver NAPI poll routine to be called with IRQ's disabled if netpoll is trying to make space in the tx queue. This is an obscure path, but if it happens, the kfree_skb needs to happen via softirq. Calling kfree_skb with IRQ's disabled is a not allowed. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 71722f53f2..b95b9b7cce 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -1453,7 +1453,7 @@ static void sky2_tx_complete(struct sky2_port *sky2, u16 done) if (unlikely(netif_msg_tx_done(sky2))) printk(KERN_DEBUG "%s: tx done %u\n", dev->name, idx); - dev_kfree_skb(re->skb); + dev_kfree_skb_any(re->skb); } le->opcode = 0; /* paranoia */