소스 검색

e100: fix error recovery

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>
Linas Vepstas 18 년 전
부모
커밋
b1d26f24e8
1개의 변경된 파일1개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      drivers/net/e100.c

+ 1 - 0
drivers/net/e100.c

@@ -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. */
 	/* Detach; put netif into state similar to hotplug unplug. */
 	netif_poll_enable(netdev);
 	netif_poll_enable(netdev);
 	netif_device_detach(netdev);
 	netif_device_detach(netdev);
+	pci_disable_device(pdev);
 
 
 	/* Request a slot reset. */
 	/* Request a slot reset. */
 	return PCI_ERS_RESULT_NEED_RESET;
 	return PCI_ERS_RESULT_NEED_RESET;