scsi: qla2xxx: Complain if waiting for pending commands times out
Such a timeout is a severe issue. Hence complain if waiting for pending commands times out. This patch fixes a small bug: it modifies qla82xx_chip_reset_cleanup() such that the "Done waiting" message is reported if qla82xx_chip_reset_cleanup() succeeded instead of if that function failed. Cc: Himanshu Madhani <hmadhani@marvell.com> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Tested-by: Himanshu Madhani <hmadhani@marvell.com> Reviewed-by: Himanshu Madhani <hmadhani@marvell.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
bc97c9484b
commit
fcef08932d
|
@ -6634,7 +6634,8 @@ qla2x00_quiesce_io(scsi_qla_host_t *vha)
|
|||
LOOP_DOWN_TIME);
|
||||
}
|
||||
/* Wait for pending cmds to complete */
|
||||
qla2x00_eh_wait_for_pending_commands(vha, 0, 0, WAIT_HOST);
|
||||
WARN_ON_ONCE(qla2x00_eh_wait_for_pending_commands(vha, 0, 0, WAIT_HOST)
|
||||
!= QLA_SUCCESS);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -3710,10 +3710,12 @@ qla82xx_chip_reset_cleanup(scsi_qla_host_t *vha)
|
|||
|
||||
/* Wait for pending cmds (physical and virtual) to complete */
|
||||
if (qla2x00_eh_wait_for_pending_commands(vha, 0, 0,
|
||||
WAIT_HOST)) {
|
||||
WAIT_HOST) == QLA_SUCCESS) {
|
||||
ql_dbg(ql_dbg_init, vha, 0x00b3,
|
||||
"Done wait for "
|
||||
"pending commands.\n");
|
||||
} else {
|
||||
WARN_ON_ONCE(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1059,8 +1059,8 @@ qc24_fail_command:
|
|||
* cmd = Scsi Command to wait on.
|
||||
*
|
||||
* Return:
|
||||
* Not Found : 0
|
||||
* Found : 1
|
||||
* Completed in time : QLA_SUCCESS
|
||||
* Did not complete in time : QLA_FUNCTION_FAILED
|
||||
*/
|
||||
static int
|
||||
qla2x00_eh_wait_on_command(struct scsi_cmnd *cmd)
|
||||
|
@ -1372,6 +1372,9 @@ qla2xxx_eh_abort(struct scsi_cmnd *cmd)
|
|||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns: QLA_SUCCESS or QLA_FUNCTION_FAILED.
|
||||
*/
|
||||
int
|
||||
qla2x00_eh_wait_for_pending_commands(scsi_qla_host_t *vha, unsigned int t,
|
||||
uint64_t l, enum nexus_wait_type type)
|
||||
|
|
Loading…
Reference in New Issue