]> git.hungrycats.org Git - linux/commitdiff
[PATCH] e1000: fix spinlock bug
authorMitch Williams <mitch.a.williams@intel.com>
Tue, 21 Jun 2005 20:21:42 +0000 (13:21 -0700)
committerChris Wright <chrisw@osdl.org>
Wed, 29 Jun 2005 23:00:37 +0000 (16:00 -0700)
This patch fixes an obvious and nasty bug where we could exit the transmit
routine while holding tx_lock.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Chris Wright <chrisw@osdl.org>
drivers/net/e1000/e1000_main.c

index 325495b8b60c62db8a8db095c8deda706d84d627..137226d98d4760f8d1a72b536ffa530effcbd541 100644 (file)
@@ -2307,6 +2307,7 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
        tso = e1000_tso(adapter, skb);
        if (tso < 0) {
                dev_kfree_skb_any(skb);
+               spin_unlock_irqrestore(&adapter->tx_lock, flags);
                return NETDEV_TX_OK;
        }