Ver Fonte

be2net: Fix EEH error reset before a flash dump completes

An EEH error can cause the FW to trigger a flash debug dump.
Resetting the card while flash dump is in progress can cause it not to recover.
Wait for it to finish before letting EEH flow to reset the card.

Signed-off-by: Sathya Perla <Sathya.Perla@emulex.com>
Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Somnath Kotur há 13 anos atrás
pai
commit
eeb7fc7bc0
1 ficheiros alterados com 5 adições e 0 exclusões
  1. 5 0
      drivers/net/ethernet/emulex/benet/be_main.c

+ 5 - 0
drivers/net/ethernet/emulex/benet/be_main.c

@@ -3821,6 +3821,11 @@ static pci_ers_result_t be_eeh_err_detected(struct pci_dev *pdev,
 
 
 	pci_disable_device(pdev);
 	pci_disable_device(pdev);
 
 
+	/* The error could cause the FW to trigger a flash debug dump.
+	 * Resetting the card while flash dump is in progress
+	 * can cause it not to recover; wait for it to finish
+	 */
+	ssleep(30);
 	return PCI_ERS_RESULT_NEED_RESET;
 	return PCI_ERS_RESULT_NEED_RESET;
 }
 }