|
@@ -188,7 +188,6 @@ scsi_abort_command(struct scsi_cmnd *scmd)
|
|
|
/*
|
|
|
* Retry after abort failed, escalate to next level.
|
|
|
*/
|
|
|
- scmd->eh_eflags &= ~SCSI_EH_ABORT_SCHEDULED;
|
|
|
SCSI_LOG_ERROR_RECOVERY(3,
|
|
|
scmd_printk(KERN_INFO, scmd,
|
|
|
"previous abort failed\n"));
|
|
@@ -937,6 +936,7 @@ void scsi_eh_prep_cmnd(struct scsi_cmnd *scmd, struct scsi_eh_save *ses,
|
|
|
ses->result = scmd->result;
|
|
|
ses->underflow = scmd->underflow;
|
|
|
ses->prot_op = scmd->prot_op;
|
|
|
+ ses->eh_eflags = scmd->eh_eflags;
|
|
|
|
|
|
scmd->prot_op = SCSI_PROT_NORMAL;
|
|
|
scmd->eh_eflags = 0;
|
|
@@ -1000,6 +1000,7 @@ void scsi_eh_restore_cmnd(struct scsi_cmnd* scmd, struct scsi_eh_save *ses)
|
|
|
scmd->result = ses->result;
|
|
|
scmd->underflow = ses->underflow;
|
|
|
scmd->prot_op = ses->prot_op;
|
|
|
+ scmd->eh_eflags = ses->eh_eflags;
|
|
|
}
|
|
|
EXPORT_SYMBOL(scsi_eh_restore_cmnd);
|
|
|
|
|
@@ -1132,7 +1133,6 @@ static int scsi_eh_action(struct scsi_cmnd *scmd, int rtn)
|
|
|
*/
|
|
|
void scsi_eh_finish_cmd(struct scsi_cmnd *scmd, struct list_head *done_q)
|
|
|
{
|
|
|
- scmd->eh_eflags = 0;
|
|
|
list_move_tail(&scmd->eh_entry, done_q);
|
|
|
}
|
|
|
EXPORT_SYMBOL(scsi_eh_finish_cmd);
|