Re: [git patch] urgent e1000 fix

From: David Lang
Date: Thu Jun 23 2005 - 16:11:52 EST


hmm, I know I'm not that experianced with patch, but when I saved this to a file and did patch -p1 <file the hunk was rejected, the reject file is saying

***************
*** 2307,2312 ****
tso = e1000_tso(adapter, skb);
if (tso < 0) {
dev_kfree_skb_any(skb);
return NETDEV_TX_OK;
}

--- 2307,2313 ----
tso = e1000_tso(adapter, skb);
if (tso < 0) {
dev_kfree_skb_any(skb);
+ spin_unlock_irqrestore(&adapter->tx_lock, flags);
return NETDEV_TX_OK;
}

I manually put the line in and am compiling it now to test it, but is someone could take a few seconds and teach me what I did wrong it would be appriciated.

David Lang

On Thu, 23 Jun 2005, Jeff Garzik wrote:

Date: Thu, 23 Jun 2005 05:24:05 -0400
From: Jeff Garzik <jgarzik@xxxxxxxxx>
To: Andrew Morton <akpm@xxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxx>
Cc: Linux Kernel <linux-kernel@xxxxxxxxxxxxxxx>,
Netdev List <netdev@xxxxxxxxxxxxxxx>
Subject: [git patch] urgent e1000 fix

Please pull from 'misc-fixes' branch of
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git

to obtain the spinlock fix described in the attached text.




--
There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.
-- C.A.R. Hoare


drivers/net/e1000/e1000_main.c | 1 +
1 files changed, 1 insertion(+)


Mitch Williams:
e1000: fix spinlock bug


diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -2307,6 +2307,7 @@ e1000_xmit_frame(struct sk_buff *skb, st
tso = e1000_tso(adapter, skb);
if (tso < 0) {
dev_kfree_skb_any(skb);
+ spin_unlock_irqrestore(&adapter->tx_lock, flags);
return NETDEV_TX_OK;
}