A port error was detacted during rest, this is because the driver was not
looking for a RN flag in the status reg. Now only fail the reset if ERR bit is
set and the reset needed flag is not.
commit id:
6b5151fd7baec6812fece993ddd7a2cf9fd0125f
Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
rc = -ENODEV;
goto out;
}
- if (bf_get(lpfc_sliport_status_rdy, ®_data))
- break;
- if (bf_get(lpfc_sliport_status_rn, ®_data)) {
+ if (bf_get(lpfc_sliport_status_rn, ®_data))
reset_again++;
+ if (bf_get(lpfc_sliport_status_rdy, ®_data))
break;
- }
}
/*
* If the port responds to the init request with
* reset needed, delay for a bit and restart the loop.
*/
- if (reset_again) {
+ if (reset_again && (rdy_chk < 1000)) {
msleep(10);
reset_again = 0;
continue;