summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDon Skidmore <donald.c.skidmore@intel.com>2009-12-23 21:19:19 -0800
committerDavid S. Miller <davem@davemloft.net>2009-12-23 21:19:19 -0800
commit656ab8172a49d3931e64f866c080260be638c8a9 (patch)
treeeed8df3cd65573ce7267fb5dd7ed487ceabc719c
parent16c02145902d8597841a25e8443cfb082898a2d7 (diff)
downloadlinux-3.10-656ab8172a49d3931e64f866c080260be638c8a9.tar.gz
linux-3.10-656ab8172a49d3931e64f866c080260be638c8a9.tar.bz2
linux-3.10-656ab8172a49d3931e64f866c080260be638c8a9.zip
ixgbe: fix Need to call pci_save_state after pci_restore_state
This patch adds a pci_save_state() call in ixgbe_resume() after pci_restore_state(). A similar change was made in ixgbe_io_slot_reset() that accommodates pci_restore_state() new behavior. This change makes pci_restore_state() clear the saved_state flag This is necessary due to a resent kernel change to pci_restore_state() so that it now clears the saved_state flag of the device right after the device.s standard configuration registers have been poplulated with the previously saved values. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index bd64387563f..1a2ea621e37 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -4373,6 +4373,11 @@ static int ixgbe_resume(struct pci_dev *pdev)
pci_set_power_state(pdev, PCI_D0);
pci_restore_state(pdev);
+ /*
+ * pci_restore_state clears dev->state_saved so call
+ * pci_save_state to restore it.
+ */
+ pci_save_state(pdev);
err = pci_enable_device_mem(pdev);
if (err) {