Subject: [PATCH 1/2]: e100 disable device on PCI error

From: Linas Vepstas
Date: Thu Jun 29 2006 - 16:05:20 EST



A recent patch in -mm3 titled
"gregkh-pci-pci-don-t-enable-device-if-already-enabled.patch"
causes pci_enable_device() to be a no-op if the kernel thinks
that the device is already enabled. This change breaks the
PCI error recovery mechanism in the e100 device driver, since,
after PCI slot reset, the card is no longer enabled. This is
a trivial fix for this problem. Tested.

Please submit uptream.

Signed-off-by: Linas Vepstas <linas@xxxxxxxxxxxxxx>

----
drivers/net/e100.c | 1 +
1 file changed, 1 insertion(+)

Index: linux-2.6.17-mm3/drivers/net/e100.c
===================================================================
--- linux-2.6.17-mm3.orig/drivers/net/e100.c 2006-06-27 11:39:08.000000000 -0500
+++ linux-2.6.17-mm3/drivers/net/e100.c 2006-06-29 14:18:40.000000000 -0500
@@ -2742,6 +2742,7 @@ static pci_ers_result_t e100_io_error_de
/* Detach; put netif into state similar to hotplug unplug. */
netif_poll_enable(netdev);
netif_device_detach(netdev);
+ pci_disable_device(pdev);

/* Request a slot reset. */
return PCI_ERS_RESULT_NEED_RESET;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/