e1000: fix spinlock bug
authorMitch Williams <mitch.a.williams@intel.com>
Thu, 23 Jun 2005 07:41:00 +0000 (03:41 -0400)
committerJeff Garzik <jgarzik@pobox.com>
Thu, 23 Jun 2005 07:41:00 +0000 (03:41 -0400)
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>
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;
        }