aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000
diff options
context:
space:
mode:
authorNick Nunley <nicholasx.d.nunley@intel.com>2010-02-03 09:49:48 -0500
committerDavid S. Miller <davem@davemloft.net>2010-02-03 22:39:57 -0500
commitdbb5aaebc44ce7f64b12904c58fbc1dd487982a7 (patch)
tree1e12e8b4bb53365666cc5e9763989b8c6535069b /drivers/net/e1000
parentb548192acaebcb05d6a87d1e94f19835b1a18a8b (diff)
e1000: call pci_save_state after pci_restore_state
This patch adds a call to pci_save_state() immediately after the call to pci_restore_state(). Due to a change in the behavior of pci_restore_state() it is necessary to call pci_save_state() to keep the state_saved flag. This patch is based on a similar patch for ixgbe. Signed-off-by: Nicholas Nunley <nicholasx.d.nunley@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/e1000')
-rw-r--r--drivers/net/e1000/e1000_main.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 4ff50d6fe5e4..3b14dd718ab4 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -847,6 +847,9 @@ static int __devinit e1000_probe(struct pci_dev *pdev,
847 goto err_pci_reg; 847 goto err_pci_reg;
848 848
849 pci_set_master(pdev); 849 pci_set_master(pdev);
850 err = pci_save_state(pdev);
851 if (err)
852 goto err_alloc_etherdev;
850 853
851 err = -ENOMEM; 854 err = -ENOMEM;
852 netdev = alloc_etherdev(sizeof(struct e1000_adapter)); 855 netdev = alloc_etherdev(sizeof(struct e1000_adapter));
@@ -4596,6 +4599,7 @@ static int e1000_resume(struct pci_dev *pdev)
4596 4599
4597 pci_set_power_state(pdev, PCI_D0); 4600 pci_set_power_state(pdev, PCI_D0);
4598 pci_restore_state(pdev); 4601 pci_restore_state(pdev);
4602 pci_save_state(pdev);
4599 4603
4600 if (adapter->need_ioport) 4604 if (adapter->need_ioport)
4601 err = pci_enable_device(pdev); 4605 err = pci_enable_device(pdev);