|
@@ -131,7 +131,7 @@ scmd_eh_abort_handler(struct work_struct *work)
|
|
"aborting command %p\n", scmd));
|
|
"aborting command %p\n", scmd));
|
|
rtn = scsi_try_to_abort_cmd(sdev->host->hostt, scmd);
|
|
rtn = scsi_try_to_abort_cmd(sdev->host->hostt, scmd);
|
|
if (rtn == SUCCESS) {
|
|
if (rtn == SUCCESS) {
|
|
- scmd->result |= DID_TIME_OUT << 16;
|
|
|
|
|
|
+ set_host_byte(scmd, DID_TIME_OUT);
|
|
if (scsi_host_eh_past_deadline(sdev->host)) {
|
|
if (scsi_host_eh_past_deadline(sdev->host)) {
|
|
SCSI_LOG_ERROR_RECOVERY(3,
|
|
SCSI_LOG_ERROR_RECOVERY(3,
|
|
scmd_printk(KERN_INFO, scmd,
|
|
scmd_printk(KERN_INFO, scmd,
|
|
@@ -167,7 +167,7 @@ scmd_eh_abort_handler(struct work_struct *work)
|
|
scmd_printk(KERN_WARNING, scmd,
|
|
scmd_printk(KERN_WARNING, scmd,
|
|
"scmd %p terminate "
|
|
"scmd %p terminate "
|
|
"aborted command\n", scmd));
|
|
"aborted command\n", scmd));
|
|
- scmd->result |= DID_TIME_OUT << 16;
|
|
|
|
|
|
+ set_host_byte(scmd, DID_TIME_OUT);
|
|
scsi_finish_command(scmd);
|
|
scsi_finish_command(scmd);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -291,7 +291,7 @@ enum blk_eh_timer_return scsi_times_out(struct request *req)
|
|
if (scsi_abort_command(scmd) == SUCCESS)
|
|
if (scsi_abort_command(scmd) == SUCCESS)
|
|
return BLK_EH_NOT_HANDLED;
|
|
return BLK_EH_NOT_HANDLED;
|
|
|
|
|
|
- scmd->result |= DID_TIME_OUT << 16;
|
|
|
|
|
|
+ set_host_byte(scmd, DID_TIME_OUT);
|
|
|
|
|
|
if (unlikely(rtn == BLK_EH_NOT_HANDLED &&
|
|
if (unlikely(rtn == BLK_EH_NOT_HANDLED &&
|
|
!scsi_eh_scmd_add(scmd, SCSI_EH_CANCEL_CMD)))
|
|
!scsi_eh_scmd_add(scmd, SCSI_EH_CANCEL_CMD)))
|
|
@@ -1777,7 +1777,7 @@ int scsi_decide_disposition(struct scsi_cmnd *scmd)
|
|
break;
|
|
break;
|
|
case DID_ABORT:
|
|
case DID_ABORT:
|
|
if (scmd->eh_eflags & SCSI_EH_ABORT_SCHEDULED) {
|
|
if (scmd->eh_eflags & SCSI_EH_ABORT_SCHEDULED) {
|
|
- scmd->result |= DID_TIME_OUT << 16;
|
|
|
|
|
|
+ set_host_byte(scmd, DID_TIME_OUT);
|
|
return SUCCESS;
|
|
return SUCCESS;
|
|
}
|
|
}
|
|
case DID_NO_CONNECT:
|
|
case DID_NO_CONNECT:
|