scsi: clean up scsi_times_out
PATCH 1/1 scsi: clean up scsi_times_out
Make sure the control flow in scsi_times_out makes sense.
Signed-off-by Christoph Hellwig <[email protected]>
drivers/scsi/scsi_error.c +6 -17
@@ -124,33 +124,22 @@ int scsi_eh_scmd_add(struct scsi_cmnd *senum blk_eh_timer_return scsi_times_out (struct request *req) {struct scsi_cmnd *scmd = req->special; -enum blk_eh_timer_return (*eh_timed_out)(struct scsi_cmnd *);enum blk_eh_timer_return rtn =BLK_EH_NOT_HANDLED ;scsi_log_completion (scmd,TIMEOUT_ERROR );if (scmd->device->host->transportt->eh_timed_out) - eh_timed_out = scmd->device->host->transportt->eh_timed_out; + rtn = scmd->device->host->transportt->eh_timed_out (scmd);else if (scmd->device->host->hostt->eh_timed_out) - eh_timed_out = scmd->device->host->hostt->eh_timed_out; -else - eh_timed_out =NULL ; + rtn = scmd->device->host->hostt->eh_timed_out (scmd); -if (eh_timed_out) - rtn =eh_timed_out (scmd); -switch (rtn) { -case BLK_EH_NOT_HANDLED : -break ; -default : -return rtn; - } - -if (unlikely (!scsi_eh_scmd_add (scmd,SCSI_EH_CANCEL_CMD ))) { +if (unlikely (rtn ==BLK_EH_NOT_HANDLED && + !scsi_eh_scmd_add (scmd,SCSI_EH_CANCEL_CMD ))) { scmd->result |=DID_TIME_OUT <<16 ; -return BLK_EH_HANDLED ; + rtn =BLK_EH_HANDLED ; } -return BLK_EH_NOT_HANDLED ; +return rtn; }/**