[PATCH] e1000: Reset all functions after a PCI error

Linas Vepstas linas at austin.ibm.com
Wed Oct 18 06:42:06 EST 2006


Please apply and forward upstream.

--linas

During the handling of the PCI error recovery sequence,
the current e1000 driver erroneously blocks a device reset
for any but the first PCI function. It shouldn't -- this 
is a cut-n-paste error from a different driver (which
tolerated only one hardware reset per hardware card). 

Signed-off-by: Linas Vepstas <linas at austin.ibm.com>
Cc: Jesse Brandeburg <jesse.brandeburg at intel.com>
Cc: Auke Kok <auke-jan.h.kok at intel.com>

----
 drivers/net/e1000/e1000_main.c |    4 ----
 1 file changed, 4 deletions(-)

Index: linux-2.6.19-rc1-git11/drivers/net/e1000/e1000_main.c
===================================================================
--- linux-2.6.19-rc1-git11.orig/drivers/net/e1000/e1000_main.c	2006-10-17 15:02:25.000000000 -0500
+++ linux-2.6.19-rc1-git11/drivers/net/e1000/e1000_main.c	2006-10-17 15:03:35.000000000 -0500
@@ -4914,10 +4914,6 @@ static pci_ers_result_t e1000_io_slot_re
 	pci_enable_wake(pdev, PCI_D3hot, 0);
 	pci_enable_wake(pdev, PCI_D3cold, 0);
 
-	/* Perform card reset only on one instance of the card */
-	if (PCI_FUNC (pdev->devfn) != 0)
-		return PCI_ERS_RESULT_RECOVERED;
-
 	e1000_reset(adapter);
 	E1000_WRITE_REG(&adapter->hw, WUS, ~0);
 



More information about the Linuxppc-dev mailing list