47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
From 17e6b7bb84649ffcbec11b3e3e933294d8856462 Mon Sep 17 00:00:00 2001
|
|
From: Huang Shijie <b32955@freescale.com>
|
|
Date: Wed, 18 Sep 2013 10:17:39 +0800
|
|
Subject: [PATCH] ENGR00279980 ubi: attach: do not return -EINVAL if the
|
|
mtd->numeraseregions is 1
|
|
|
|
If the master mtd does not have any slave mtd partitions,
|
|
and its numeraseregions is one(only has one erease block), and
|
|
we attach the master mtd with : ubiattach -m 0 -d 0
|
|
|
|
We will meet the error:
|
|
-------------------------------------------------------
|
|
root@freescale ~$ ubiattach /dev/ubi_ctrl -m 0 -d 0
|
|
UBI: attaching mtd0 to ubi0
|
|
UBI error: io_init: multiple regions, not implemented
|
|
ubiattach: error!: cannot attach mtd0
|
|
error 22 (Invalid argument)
|
|
-------------------------------------------------------
|
|
|
|
In fact, if there is only one "erase block", we should not
|
|
prevent the attach.
|
|
|
|
This patch fixes it.
|
|
|
|
Signed-off-by: Huang Shijie <b32955@freescale.com>
|
|
(cherry picked from commit 361cdc47fc4c4db31c5485560cdabd94f409bd81)
|
|
(cherry picked from commit ebee7d74914fad3cf7223af84496811c9d2488a1)
|
|
|
|
Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
|
|
|
|
Signed-off-by: Han Xu <han.xu@nxp.com>
|
|
---
|
|
drivers/mtd/ubi/build.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
--- a/drivers/mtd/ubi/build.c
|
|
+++ b/drivers/mtd/ubi/build.c
|
|
@@ -573,7 +573,7 @@ static int io_init(struct ubi_device *ub
|
|
dbg_gen("sizeof(struct ubi_ainf_peb) %zu", sizeof(struct ubi_ainf_peb));
|
|
dbg_gen("sizeof(struct ubi_wl_entry) %zu", sizeof(struct ubi_wl_entry));
|
|
|
|
- if (ubi->mtd->numeraseregions != 0) {
|
|
+ if (ubi->mtd->numeraseregions > 1) {
|
|
/*
|
|
* Some flashes have several erase regions. Different regions
|
|
* may have different eraseblock size and other
|