summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2015-02-10 09:52:04 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-02-10 09:58:23 +0100
commitce073eb9e4b9690caf44f1be79aea976c9cfcdac (patch)
tree1d7ac7c706f99045f15793953e7019280e0e5cc1
parenteebfbe9116a46d504f0912a25cf5ff7eaff96884 (diff)
downloadbarebox-ce073eb9e4b9690caf44f1be79aea976c9cfcdac.tar.gz
barebox-ce073eb9e4b9690caf44f1be79aea976c9cfcdac.tar.xz
mtd: nand-bb: Fix test for bad block when reading
in nand_bb_read() 'offset' contains the virtual position on the device, but we have to test for a bad block on the raw physical position, so use bb->offset instead of offset Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/mtd/nand/nand-bb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/nand/nand-bb.c b/drivers/mtd/nand/nand-bb.c
index f134635f2a..c8f6988250 100644
--- a/drivers/mtd/nand/nand-bb.c
+++ b/drivers/mtd/nand/nand-bb.c
@@ -62,7 +62,7 @@ static ssize_t nand_bb_read(struct cdev *cdev, void *buf, size_t count,
if (max <= 0)
break;
- if (mtd_block_isbad(bb->mtd, offset)) {
+ if (mtd_block_isbad(bb->mtd, bb->offset)) {
printf("skipping bad block at 0x%08llx\n", bb->offset);
bb->offset += bb->mtd->erasesize;
continue;