Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63ac9b915924d1237d2135fcb4de724e6127ca5e
Commit:     63ac9b915924d1237d2135fcb4de724e6127ca5e
Parent:     96acb6eb8effe7c2549909e2ee49f4130f2c167d
Author:     Patrick McHardy <[EMAIL PROTECTED]>
AuthorDate: Mon Jul 2 16:08:28 2007 +0200
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Mon Jul 2 10:50:46 2007 -0400

    3c589_cs: fix local_bh_enable warning
    
    Russell King wrote:
    > Having upgraded from 2.6.16 to 2.6.22-rc6, I'm now seeing the following.
    >
    > Looks like netfilter is calling local_bh_enable() with IRQs disabled,
    > which would appear to be illegal.  Thankfully, this is a warn-once
    > warning.
    >
    > WARNING: at /home/rmk/git/linux-2.6-rmk/kernel/softirq.c:138 
local_bh_enable()
    > [...]
    > [<c01447fc>] (nf_conntrack_destroy+0x0/0x2c) from [<c012c05c>] 
(__kfree_skb+0xd0/0x100)
    > [<c012bf8c>] (__kfree_skb+0x0/0x100) from [<c012c0d8>] 
(kfree_skb+0x4c/0x50)
    >  r5:c12a3800 r4:00000300
    > [<c012c08c>] (kfree_skb+0x0/0x50) from [<bf03cbb0>] 
(el3_start_xmit+0xb8/0xd0 [3c589_cs])
    > [<bf03caf8>] (el3_start_xmit+0x0/0xd0 [3c589_cs]) from [<c01324dc>] 
(dev_hard_start_xmit+0x1a8/0x244)
    >  r7:c12a3800 r6:c1a9aa00 r5:c1a9aa00 r4:c12a3800
    > [<c0132334>] (dev_hard_start_xmit+0x0/0x244) from [<c013fcc0>] 
(__qdisc_run+0xb0/0x198)
    
    Thats a bug in the 3c589_cs driver. Patch attached.
    
    Signed-off-by: Patrick McHardy <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/net/pcmcia/3c589_cs.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/pcmcia/3c589_cs.c b/drivers/net/pcmcia/3c589_cs.c
index 143ae2f..503f268 100644
--- a/drivers/net/pcmcia/3c589_cs.c
+++ b/drivers/net/pcmcia/3c589_cs.c
@@ -629,9 +629,9 @@ static int el3_start_xmit(struct sk_buff *skb, struct 
net_device *dev)
        outw(SetTxThreshold + 1536, ioaddr + EL3_CMD);
     }
 
-    dev_kfree_skb(skb);
     pop_tx_status(dev);
     spin_unlock_irqrestore(&priv->lock, flags);    
+    dev_kfree_skb(skb);
     
     return 0;
 }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to