From ca29d3ec81cd37c09cb41cae90031420db75241f Mon Sep 17 00:00:00 2001 From: Kiyoshi Ueda Date: Fri, 18 Jan 2008 12:02:15 -0500 Subject: [PATCH] --- yaml --- r: 80591 b: refs/heads/master c: b8de16318410f6f8611a879678a531237e4aadc9 h: refs/heads/master i: 80589: 52daf045dacfbf7c9578e658b9a68276c445056a 80587: 2b5284c363a13f81c367d05dd67f8d88f094d2a0 80583: ac17e810407baffdcd374be07698cb009914fdd4 80575: 9c68d8b16a6b71762b006751b521c4e301362b29 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/scsi_lib.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 1dc80d5cfe70..1e4256bfea32 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6f9a35e2dafa0f855ab051c11bdbf739745ff6f5 +refs/heads/master: b8de16318410f6f8611a879678a531237e4aadc9 diff --git a/trunk/drivers/scsi/scsi_lib.c b/trunk/drivers/scsi/scsi_lib.c index 681ed1b830f5..4560713ecb14 100644 --- a/trunk/drivers/scsi/scsi_lib.c +++ b/trunk/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); /*