From: Heiner Litz Date: Thu, 29 Mar 2018 22:05:06 +0000 (+0200) Subject: lightnvm: fix bad block initialization X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=a38c78d82dd38ce178c994a777751fae61ae31c8;p=openwrt%2Fstaging%2Fblogic.git lightnvm: fix bad block initialization fix reading bad block device information to correctly setup the per line blk_bitmap during lightnvm initialization Signed-off-by: Heiner Litz Signed-off-by: Matias Bjørling Signed-off-by: Jens Axboe --- diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c index 43b835678f48..ee936c1ff764 100644 --- a/drivers/lightnvm/pblk-init.c +++ b/drivers/lightnvm/pblk-init.c @@ -460,10 +460,11 @@ static int pblk_bb_line(struct pblk *pblk, struct pblk_line *line, struct nvm_tgt_dev *dev = pblk->dev; struct nvm_geo *geo = &dev->geo; int i, bb_cnt = 0; + int blk_per_lun = geo->nr_chks * geo->plane_mode; for (i = 0; i < blk_per_line; i++) { struct pblk_lun *rlun = &pblk->luns[i]; - u8 *lun_bb_log = bb_log + i * blk_per_line; + u8 *lun_bb_log = bb_log + i * blk_per_lun; if (lun_bb_log[line->id] == NVM_BLK_T_FREE) continue;