Skip to content

Commit

Permalink
[SCSI] Return NEEDS_RETRY for eh commands with status BUSY
Browse files Browse the repository at this point in the history
When the transport is busy and we're sending an EH command drivers
occasionally return 'BUSY'. As this in most cases is the TUR
command sent as part of the error recovery this is a sure way
to make the error recovery escalate. Returning 'NEEDS_RETRY'
here will just retry the TUR command and eventually abort the
original command, thus making error handling far smoother.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
  • Loading branch information
Hannes Reinecke authored and James Bottomley committed Aug 11, 2010
1 parent 7e41dfd commit 3eb3a92
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions drivers/scsi/scsi_error.c
Original file line number Diff line number Diff line change
Expand Up @@ -481,6 +481,7 @@ static int scsi_eh_completed_normally(struct scsi_cmnd *scmd)
scsi_handle_queue_full(scmd->device);
/* fall through */
case BUSY:
return NEEDS_RETRY;
default:
return FAILED;
}
Expand Down

0 comments on commit 3eb3a92

Please sign in to comment.