From: Pete Wyckoff Date: Tue, 13 Mar 2007 20:53:28 +0000 (-0400) Subject: [SCSI] set resid in scsi_io_completion() even for check condition X-Git-Tag: v2.6.22-rc1~1015^2~58 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=b22f687dd28a7a8886b918294b4d558ef175c07d;p=karo-tx-linux.git [SCSI] set resid in scsi_io_completion() even for check condition Some targets can return both valid data and sense information. Always update the request data_len from the SCSI command residual. Callers should interpret sense data to determine what parts of the data are valid in case of a CHECK CONDITION status. Signed-off-by: Pete Wyckoff Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 5f955707d902..be8e6558b89e 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -848,8 +848,8 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes) memcpy(req->sense, cmd->sense_buffer, len); req->sense_len = len; } - } else - req->data_len = cmd->resid; + } + req->data_len = cmd->resid; } /*