summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2013-08-19 22:31:49 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-01-07 11:03:24 +0100
commit54930d9f92ed45fd6c9fcd25c69dbb356bf5b97c (patch)
tree009b6306df0d96297615cc82fbdb1f3e47754836 /drivers
parent92924e7ae171609a748df38ce91763cc3e05bfa7 (diff)
downloadbarebox-54930d9f92ed45fd6c9fcd25c69dbb356bf5b97c.tar.gz
barebox-54930d9f92ed45fd6c9fcd25c69dbb356bf5b97c.tar.xz
UBI: Fix invalidate_fastmap()
Onging tests uncovered that invalidate_fastmap() is broken. It must not call ubi_wl_put_fm_peb() because all PEBs used by the old fastmap have already been put back. Signed-off-by: Richard Weinberger <richard@nod.at> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mtd/ubi/fastmap.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c
index 939e5346ff..4d120ae83e 100644
--- a/drivers/mtd/ubi/fastmap.c
+++ b/drivers/mtd/ubi/fastmap.c
@@ -1338,7 +1338,7 @@ out:
static int invalidate_fastmap(struct ubi_device *ubi,
struct ubi_fastmap_layout *fm)
{
- int ret, i;
+ int ret;
struct ubi_vid_hdr *vh;
ret = erase_block(ubi, fm->e[0]->pnum);
@@ -1355,9 +1355,6 @@ static int invalidate_fastmap(struct ubi_device *ubi,
vh->sqnum = cpu_to_be64(ubi_next_sqnum(ubi));
ret = ubi_io_write_vid_hdr(ubi, fm->e[0]->pnum, vh);
- for (i = 0; i < fm->used_blocks; i++)
- ubi_wl_put_fm_peb(ubi, fm->e[i], i, fm->to_be_tortured[i]);
-
return ret;
}