summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2007-02-26 17:18:36 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2007-03-02 16:32:46 -0800
commiteecf18ffe65123882562c54e55fd2d5e54ad4fef (patch)
treeb3450121483c5de6c975a0ffd23e5f5b40d8c930
parentfe864ebed2a1e894552bb426bbb02a2e2c2f6878 (diff)
downloadlinux-stable-eecf18ffe65123882562c54e55fd2d5e54ad4fef.tar.gz
linux-stable-eecf18ffe65123882562c54e55fd2d5e54ad4fef.tar.bz2
linux-stable-eecf18ffe65123882562c54e55fd2d5e54ad4fef.zip
sky2: kfree_skb with IRQ with netconsole
When using netconsole, it is possible for the driver to try and free skb's with IRQ's disabled. This could cause problems if the skb had a destructor function that didn't expect this. The documented semantics is that skb->destructor callback happens in softirq. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/net/sky2.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 79fded454ee4..50d60d200af5 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -1454,7 +1454,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 */