diff options
Diffstat (limited to 'block/bsg.c')
-rw-r--r-- | block/bsg.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/block/bsg.c b/block/bsg.c index dd81be455e00..5358f9ae13c1 100644 --- a/block/bsg.c +++ b/block/bsg.c | |||
@@ -446,15 +446,15 @@ static int blk_complete_sgv4_hdr_rq(struct request *rq, struct sg_io_v4 *hdr, | |||
446 | } | 446 | } |
447 | 447 | ||
448 | if (rq->next_rq) { | 448 | if (rq->next_rq) { |
449 | hdr->dout_resid = rq->data_len; | 449 | hdr->dout_resid = rq->resid_len; |
450 | hdr->din_resid = rq->next_rq->data_len; | 450 | hdr->din_resid = rq->next_rq->resid_len; |
451 | blk_rq_unmap_user(bidi_bio); | 451 | blk_rq_unmap_user(bidi_bio); |
452 | rq->next_rq->bio = NULL; | 452 | rq->next_rq->bio = NULL; |
453 | blk_put_request(rq->next_rq); | 453 | blk_put_request(rq->next_rq); |
454 | } else if (rq_data_dir(rq) == READ) | 454 | } else if (rq_data_dir(rq) == READ) |
455 | hdr->din_resid = rq->data_len; | 455 | hdr->din_resid = rq->resid_len; |
456 | else | 456 | else |
457 | hdr->dout_resid = rq->data_len; | 457 | hdr->dout_resid = rq->resid_len; |
458 | 458 | ||
459 | /* | 459 | /* |
460 | * If the request generated a negative error number, return it | 460 | * If the request generated a negative error number, return it |