]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
e100: fix error recovery
authorLinas Vepstas <linas@austin.ibm.com>
Thu, 31 Aug 2006 21:27:48 +0000 (14:27 -0700)
committerAuke Kok <juke-jan.h.kok@intel.com>
Thu, 31 Aug 2006 21:27:48 +0000 (14:27 -0700)
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.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
drivers/net/e100.c

index 458af6a80bbb79156c9b8cf08c83fc37f1792969..e12cc68deaa48e861ddb90cfd46f7b0e66320590 100644 (file)
@@ -2791,6 +2791,7 @@ static pci_ers_result_t e100_io_error_detected(struct pci_dev *pdev, pci_channel
        /* 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;