Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ixgbe: 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 Intel 10G pci-express ixgbe adapter.

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>

authored by

Wendy Xiong and committed by
Jeff Garzik
fb3b27bc 7b1be198

+2
+2
drivers/net/ixgbe/ixgbe_main.c
··· 3431 3431 } 3432 3432 3433 3433 pci_set_master(pdev); 3434 + pci_save_state(pdev); 3434 3435 3435 3436 #ifdef CONFIG_NETDEVICES_MULTIQUEUE 3436 3437 netdev = alloc_etherdev_mq(sizeof(struct ixgbe_adapter), MAX_TX_QUEUES); ··· 3722 3721 return PCI_ERS_RESULT_DISCONNECT; 3723 3722 } 3724 3723 pci_set_master(pdev); 3724 + pci_restore_state(pdev); 3725 3725 3726 3726 pci_enable_wake(pdev, PCI_D3hot, 0); 3727 3727 pci_enable_wake(pdev, PCI_D3cold, 0);