Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b8de16318410f6f8611a879678a531237e4aadc9
Commit:     b8de16318410f6f8611a879678a531237e4aadc9
Parent:     6f9a35e2dafa0f855ab051c11bdbf739745ff6f5
Author:     Kiyoshi Ueda <[EMAIL PROTECTED]>
AuthorDate: Fri Jan 18 12:02:15 2008 -0500
Committer:  James Bottomley <[EMAIL PROTECTED]>
CommitDate: Wed Jan 30 13:03:41 2008 -0600

    [SCSI] bidirectional: fix up for the new blk_end_request code
    
    Signed-off-by: Kiyoshi Ueda <[EMAIL PROTECTED]>
    Signed-off-by: Jun'ichi Nomura <[EMAIL PROTECTED]>
    Signed-off-by: James Bottomley <[EMAIL PROTECTED]>
---
 drivers/scsi/scsi_lib.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 681ed1b..4560713 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -812,8 +812,16 @@ EXPORT_SYMBOL(scsi_release_buffers);
  */
 void scsi_end_bidi_request(struct scsi_cmnd *cmd)
 {
-       blk_end_bidi_request(cmd->request, 0, scsi_out(cmd)->resid,
-                                                       scsi_in(cmd)->resid);
+       struct request *req = cmd->request;
+       unsigned int dlen = req->data_len;
+       unsigned int next_dlen = req->next_rq->data_len;
+
+       req->data_len = scsi_out(cmd)->resid;
+       req->next_rq->data_len = scsi_in(cmd)->resid;
+
+       /* The req and req->next_rq have not been completed */
+       BUG_ON(blk_end_bidi_request(req, 0, dlen, next_dlen));
+
        scsi_release_buffers(cmd);
 
        /*
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to