bnx2: EEH is failing with timeout
authorBreno Leitao <leitao@linux.vnet.ibm.com>
Thu, 26 Nov 2009 07:31:49 +0000 (07:31 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Dec 2009 23:36:28 +0000 (15:36 -0800)
bnx2 is failing when a PCI error is detected. The error is the
following:

bnx2: Chip not in correct endian mode
bnx2: fw sync timeout, reset code = 404001d

This error was caused because the way pci_restore_state() is working
after commit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff ("PCI: Clear
saved_state after the state has been restored").

Signed-off-by: Breno Leitao<leitao@linux.vnet.ibm.com>
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2.c

index 08cddb6ff740f4dfac35677e91424378bcf3b2e9..7fa4048b58d4c1686ab2a71a3fb515148638ee40 100644 (file)
@@ -8264,6 +8264,7 @@ static pci_ers_result_t bnx2_io_slot_reset(struct pci_dev *pdev)
        }
        pci_set_master(pdev);
        pci_restore_state(pdev);
+       pci_save_state(pdev);
 
        if (netif_running(dev)) {
                bnx2_set_power_state(bp, PCI_D0);