summary refs log tree commit diff
path: root/include/scsi/scsi_eh.h
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2008-07-21 10:25:52 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-07-26 15:14:56 -0400
commit12265709ac6e197f4d40d9ec1fd3af97b4196a35 (patch)
tree479b48c2082e374b20f1767fef7768b6ea696f84 /include/scsi/scsi_eh.h
parentaf55ff675a8461da6a632320710b050af4366e0c (diff)
downloadlinux-12265709ac6e197f4d40d9ec1fd3af97b4196a35.tar.gz
[SCSI] scsi_eh_prep_cmnd should save scmd->underflow
This patch (as1116) fixes a bug in scsi_eh_prep_cmnd() and
scsi_eh_restore_cmnd().  These routines are supposed to save any
values they change and restore them later, but someone forgot to
save & restore scmd->underflow.

This fixes part of the problem reported in Bugzilla #9638.

[jejb: fix up rejections around DIF/DIX]
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'include/scsi/scsi_eh.h')
-rw-r--r--include/scsi/scsi_eh.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/scsi/scsi_eh.h b/include/scsi/scsi_eh.h
index e5499ed0e376..06a8790893ef 100644
--- a/include/scsi/scsi_eh.h
+++ b/include/scsi/scsi_eh.h
@@ -74,6 +74,7 @@ struct scsi_eh_save {
 	/* saved state */
 	int result;
 	enum dma_data_direction data_direction;
+	unsigned underflow;
 	unsigned char cmd_len;
 	unsigned char prot_op;
 	unsigned char *cmnd;