diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-09 19:47:43 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-09 19:47:43 +0400 |
commit | 9cdba30283ecad22970e954c5595c9079d7a7f63 (patch) | |
tree | abbd662082da905358db1ac98ada0bfd35dc7622 | |
parent | fd4d34295b36c5d9a1aba3d3f2764d721db093be (diff) | |
parent | c1d4c41f2fdfe66dea957b76d005affba3e56b26 (diff) | |
download | linux-9cdba30283ecad22970e954c5595c9079d7a7f63.tar.xz |
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
bsg: setting rq->bio to NULL
-rw-r--r-- | block/bsg.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/block/bsg.c b/block/bsg.c index 206060e795da..dd81be455e00 100644 --- a/block/bsg.c +++ b/block/bsg.c @@ -315,6 +315,7 @@ out: blk_put_request(rq); if (next_rq) { blk_rq_unmap_user(next_rq->bio); + next_rq->bio = NULL; blk_put_request(next_rq); } return ERR_PTR(ret); @@ -448,6 +449,7 @@ static int blk_complete_sgv4_hdr_rq(struct request *rq, struct sg_io_v4 *hdr, hdr->dout_resid = rq->data_len; hdr->din_resid = rq->next_rq->data_len; blk_rq_unmap_user(bidi_bio); + rq->next_rq->bio = NULL; blk_put_request(rq->next_rq); } else if (rq_data_dir(rq) == READ) hdr->din_resid = rq->data_len; @@ -466,6 +468,7 @@ static int blk_complete_sgv4_hdr_rq(struct request *rq, struct sg_io_v4 *hdr, blk_rq_unmap_user(bio); if (rq->cmd != rq->__cmd) kfree(rq->cmd); + rq->bio = NULL; blk_put_request(rq); return ret; |