diff options
author | Wenwei Tao <ww.tao0320@gmail.com> | 2016-02-04 15:13:23 +0100 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-02-04 09:19:45 -0700 |
commit | 16c6d048d7b74249a4387700887e8adb13028866 (patch) | |
tree | cd8905aa92e727bf11e4cdfcf83cd2f6f241e615 /drivers | |
parent | e502fb8f8801c9561c57397e7fd917187762324e (diff) | |
download | linux-16c6d048d7b74249a4387700887e8adb13028866.tar.bz2 |
lightnvm: put bio before return
The bio is not returned if the data page cannot be allocated.
Signed-off-by: Wenwei Tao <ww.tao0320@gmail.com>
Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/lightnvm/rrpc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/lightnvm/rrpc.c b/drivers/lightnvm/rrpc.c index d8c75958ced3..307db1ea22de 100644 --- a/drivers/lightnvm/rrpc.c +++ b/drivers/lightnvm/rrpc.c @@ -300,8 +300,10 @@ static int rrpc_move_valid_pages(struct rrpc *rrpc, struct rrpc_block *rblk) } page = mempool_alloc(rrpc->page_pool, GFP_NOIO); - if (!page) + if (!page) { + bio_put(bio); return -ENOMEM; + } while ((slot = find_first_zero_bit(rblk->invalid_pages, nr_pgs_per_blk)) < nr_pgs_per_blk) { |