summaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorRichard Weinberger2015-03-09 10:04:09 +0100
committerRichard Weinberger2015-03-26 23:03:15 +0100
commit180a53577b809026af744e99a35b3a3a0056520b (patch)
treeb10189a9df5f961bfbdf42db646b84925c273ac6 /drivers/mtd
parentUBI: Fastmap: Remove is_fm_block() (diff)
downloadkernel-qcow2-linux-180a53577b809026af744e99a35b3a3a0056520b.tar.gz
kernel-qcow2-linux-180a53577b809026af744e99a35b3a3a0056520b.tar.xz
kernel-qcow2-linux-180a53577b809026af744e99a35b3a3a0056520b.zip
UBI: Fastmap: Fall back to scanning mode after ECC error
If we encounter an uncorrectable ECC error while scanning for the fastmap UBI must not fail hard. Instead fall back to scanning mode. Reported-by: Alexander Block <Alexander.Block@continental-corporation.com> Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/ubi/attach.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mtd/ubi/attach.c b/drivers/mtd/ubi/attach.c
index 42d465add385..68eea5befaf1 100644
--- a/drivers/mtd/ubi/attach.c
+++ b/drivers/mtd/ubi/attach.c
@@ -1419,7 +1419,7 @@ int ubi_attach(struct ubi_device *ubi, int force_scan)
err = scan_all(ubi, ai, 0);
else {
err = scan_fast(ubi, &ai);
- if (err > 0) {
+ if (err > 0 || mtd_is_eccerr(err)) {
if (err != UBI_NO_FASTMAP) {
destroy_ai(ai);
ai = alloc_ai();