]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
sky2: kfree_skb with IRQ with netconsole
authorStephen Hemminger <shemminger@linux-foundation.org>
Tue, 27 Feb 2007 01:18:36 +0000 (17:18 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 3 Mar 2007 00:32:46 +0000 (16:32 -0800)
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>
drivers/net/sky2.c

index 79fded454ee4371b4539f58eb4f0044dfe104129..50d60d200af5fbbff8755b4d9f7aede03230c689 100644 (file)
@@ -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 */