aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWendy Xiong <wendyx@us.ibm.com>2008-04-23 14:09:29 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-04-25 02:08:04 -0400
commitaad32739641d3a75818fbe653d4b0d530e965f2f (patch)
treed88a61fec2e8ae05015cfa0f170fe9cc9eab9c41
parentfb3b27bc00ca2b6d69c3a22ff43b4d95fef47bed (diff)
e1000e: save and restore pcie/msi state to support EEH recovery
To enable EEH support for pci-express network adapters, pcie/msi state needs to be saved and restored for that adapter. Tested this EEH patch with 2ports and 4ports pci-express e1000e adapters. Signed-off-by: Wendy Xiong <wendyx@us.ibm.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r--drivers/net/e1000e/netdev.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 9d1143aa6189..603ef9a6ddc1 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -3807,6 +3807,7 @@ static pci_ers_result_t e1000_io_slot_reset(struct pci_dev *pdev)
3807 return PCI_ERS_RESULT_DISCONNECT; 3807 return PCI_ERS_RESULT_DISCONNECT;
3808 } 3808 }
3809 pci_set_master(pdev); 3809 pci_set_master(pdev);
3810 pci_restore_state(pdev);
3810 3811
3811 pci_enable_wake(pdev, PCI_D3hot, 0); 3812 pci_enable_wake(pdev, PCI_D3hot, 0);
3812 pci_enable_wake(pdev, PCI_D3cold, 0); 3813 pci_enable_wake(pdev, PCI_D3cold, 0);
@@ -3933,6 +3934,7 @@ static int __devinit e1000_probe(struct pci_dev *pdev,
3933 goto err_pci_reg; 3934 goto err_pci_reg;
3934 3935
3935 pci_set_master(pdev); 3936 pci_set_master(pdev);
3937 pci_save_state(pdev);
3936 3938
3937 err = -ENOMEM; 3939 err = -ENOMEM;
3938 netdev = alloc_etherdev(sizeof(struct e1000_adapter)); 3940 netdev = alloc_etherdev(sizeof(struct e1000_adapter));