diff options
author | Richard Weinberger <richard@nod.at> | 2013-09-28 15:55:12 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-01-07 11:03:24 +0100 |
commit | 8000a53dda8faa350ac16d9b23e6480a288f668b (patch) | |
tree | f0cb3f1497cb073e0cb58de02c0a47af53c56d65 /drivers | |
parent | 4a290f970d59086d453e6b8a701107b2ebf6e15d (diff) | |
download | barebox-8000a53dda8faa350ac16d9b23e6480a288f668b.tar.gz barebox-8000a53dda8faa350ac16d9b23e6480a288f668b.tar.xz |
UBI: Call scan_all() with correct offset in error case
If we find an invalid fastmap we have to scan from the very beginning.
Otherwise we leak the first 64 PEBs.
Reported-and-tested-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mtd/ubi/attach.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mtd/ubi/attach.c b/drivers/mtd/ubi/attach.c index 62d611310c..8c5c8c3765 100644 --- a/drivers/mtd/ubi/attach.c +++ b/drivers/mtd/ubi/attach.c @@ -1397,9 +1397,11 @@ int ubi_attach(struct ubi_device *ubi, int force_scan) ai = alloc_ai("ubi_aeb_slab_cache2"); if (!ai) return -ENOMEM; - } - err = scan_all(ubi, ai, UBI_FM_MAX_START); + err = scan_all(ubi, ai, 0); + } else { + err = scan_all(ubi, ai, UBI_FM_MAX_START); + } } } #else |