|
@@ -763,7 +763,8 @@ int pnv_eeh_phb_reset(struct pci_controller *hose, int option)
|
|
|
* reset followed by hot reset on root bus. So we also
|
|
|
* need the PCI bus settlement delay.
|
|
|
*/
|
|
|
- rc = pnv_eeh_poll(phb->opal_id);
|
|
|
+ if (rc > 0)
|
|
|
+ rc = pnv_eeh_poll(phb->opal_id);
|
|
|
if (option == EEH_RESET_DEACTIVATE) {
|
|
|
if (system_state < SYSTEM_RUNNING)
|
|
|
udelay(1000 * EEH_PE_RST_SETTLE_TIME);
|
|
@@ -806,7 +807,8 @@ static int pnv_eeh_root_reset(struct pci_controller *hose, int option)
|
|
|
goto out;
|
|
|
|
|
|
/* Poll state of the PHB until the request is done */
|
|
|
- rc = pnv_eeh_poll(phb->opal_id);
|
|
|
+ if (rc > 0)
|
|
|
+ rc = pnv_eeh_poll(phb->opal_id);
|
|
|
if (option == EEH_RESET_DEACTIVATE)
|
|
|
msleep(EEH_PE_RST_SETTLE_TIME);
|
|
|
out:
|