[SCSI] qla2xxx: Double check for command completion if abort mailbox command fails.
Close a small window where we could falsely fail an abort request if the mailbox command fails but the command was returned during interrupt context. Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
7594206493
commit
bc91ade9b7
1 changed files with 4 additions and 0 deletions
|
@ -918,6 +918,10 @@ qla2xxx_eh_abort(struct scsi_cmnd *cmd)
|
||||||
qla2x00_sp_compl(ha, sp);
|
qla2x00_sp_compl(ha, sp);
|
||||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||||
|
|
||||||
|
/* Did the command return during mailbox execution? */
|
||||||
|
if (ret == FAILED && !CMD_SP(cmd))
|
||||||
|
ret = SUCCESS;
|
||||||
|
|
||||||
/* Wait for the command to be returned. */
|
/* Wait for the command to be returned. */
|
||||||
if (wait) {
|
if (wait) {
|
||||||
if (qla2x00_eh_wait_on_command(cmd) != QLA_SUCCESS) {
|
if (qla2x00_eh_wait_on_command(cmd) != QLA_SUCCESS) {
|
||||||
|
|
Reference in a new issue