Issue asic reset and verify functionality before continuing to the
resume call.  This allows proper error code to be returned in the case
the asic does not recover.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
                return PCI_ERS_RESULT_DISCONNECT;
        }
        pci_set_master(pdev);
+
+       if (ql_adapter_reset(qdev)) {
+               QPRINTK(qdev, DRV, ERR, "reset FAILED!\n");
+               return PCI_ERS_RESULT_DISCONNECT;
+       }
+
        return PCI_ERS_RESULT_RECOVERED;
 }
 
        struct ql_adapter *qdev = netdev_priv(ndev);
        int err = 0;
 
-       if (ql_adapter_reset(qdev))
-               QPRINTK(qdev, DRV, ERR, "reset FAILED!\n");
        if (netif_running(ndev)) {
                err = qlge_open(ndev);
                if (err) {