diff options
Diffstat (limited to 'drivers/scsi/scsi_error.c')
| -rw-r--r-- | drivers/scsi/scsi_error.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index cfd01ef8a9d..0bd88381c1e 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c @@ -473,10 +473,12 @@ static int scsi_eh_completed_normally(struct scsi_cmnd *scmd)  		 */  		return SUCCESS;  	case RESERVATION_CONFLICT: -		/* -		 * let issuer deal with this, it could be just fine -		 */ -		return SUCCESS; +		if (scmd->cmnd[0] == TEST_UNIT_READY) +			/* it is a success, we probed the device and +			 * found it */ +			return SUCCESS; +		/* otherwise, we failed to send the command */ +		return FAILED;  	case QUEUE_FULL:  		scsi_handle_queue_full(scmd->device);  		/* fall through */  |