ixgbe: Fixing EEH handler to handle more than one error
authorBreno Leitao <leitao@linux.vnet.ibm.com>
Tue, 10 Nov 2009 08:37:47 +0000 (08:37 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 17 Nov 2009 07:51:32 +0000 (23:51 -0800)
After commmit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff EEH breaks
after the second error, since it calls pci_restore_state()
but it returns 0, since pci->state_saved is false.

So, this patch just call pci_save_state() after pci_restore_state().

Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ixgbe/ixgbe_main.c

index 5bd9e6bf6f2f0a8cbcc87c94c7613c94bb93a002..a5036f7c19230c75774a209d1a339f8643d02c53 100644 (file)
@@ -5994,6 +5994,7 @@ static pci_ers_result_t ixgbe_io_slot_reset(struct pci_dev *pdev)
        } else {
                pci_set_master(pdev);
                pci_restore_state(pdev);
+               pci_save_state(pdev);
 
                pci_wake_from_d3(pdev, false);