diff options
Diffstat (limited to 'drivers/scsi/scsi_error.c')
| -rw-r--r-- | drivers/scsi/scsi_error.c | 3 | 
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index 1c470e31ae81..ae2fa170f6ad 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c @@ -967,6 +967,7 @@ void scsi_eh_prep_cmnd(struct scsi_cmnd *scmd, struct scsi_eh_save *ses,  	ses->data_direction = scmd->sc_data_direction;  	ses->sdb = scmd->sdb;  	ses->result = scmd->result; +	ses->resid_len = scmd->req.resid_len;  	ses->underflow = scmd->underflow;  	ses->prot_op = scmd->prot_op;  	ses->eh_eflags = scmd->eh_eflags; @@ -977,6 +978,7 @@ void scsi_eh_prep_cmnd(struct scsi_cmnd *scmd, struct scsi_eh_save *ses,  	memset(scmd->cmnd, 0, BLK_MAX_CDB);  	memset(&scmd->sdb, 0, sizeof(scmd->sdb));  	scmd->result = 0; +	scmd->req.resid_len = 0;  	if (sense_bytes) {  		scmd->sdb.length = min_t(unsigned, SCSI_SENSE_BUFFERSIZE, @@ -1029,6 +1031,7 @@ void scsi_eh_restore_cmnd(struct scsi_cmnd* scmd, struct scsi_eh_save *ses)  	scmd->sc_data_direction = ses->data_direction;  	scmd->sdb = ses->sdb;  	scmd->result = ses->result; +	scmd->req.resid_len = ses->resid_len;  	scmd->underflow = ses->underflow;  	scmd->prot_op = ses->prot_op;  	scmd->eh_eflags = ses->eh_eflags;  | 
