[PATCH v3 0/6] UBI: add max_beb_per1024 parameter / ioctl
Shmulik Ladkani
shmulik.ladkani at gmail.com
Thu Aug 23 06:36:55 EDT 2012
On Thu, 23 Aug 2012 13:10:15 +0300 Artem Bityutskiy <dedekind1 at gmail.com> wrote:
> diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
> index aa60b30..865e4fa 100644
> --- a/drivers/mtd/ubi/build.c
> +++ b/drivers/mtd/ubi/build.c
> @@ -860,9 +860,6 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
> if (max_beb_per1024 < 0 || max_beb_per1024 > MAX_MTD_UBI_BEB_LIMIT)
> return -EINVAL;
>
> - if (!max_beb_per1024)
> - max_beb_per1024 = CONFIG_MTD_UBI_BEB_LIMIT;
> -
> /*
> * Check if we already have the same MTD device attached.
> *
> @@ -935,6 +932,15 @@ int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num,
> if (err)
> goto out_free;
>
> + if (!max_beb_per1024) {
> + if (!ubi->bad_allowed) {
> + ubi_err("mtd%d does not admit of bad blocks, "
> + "max_beb_per1024 cannot be used", mtd->index);
> + goto out_free;
> + }
> + max_beb_per1024 = CONFIG_MTD_UBI_BEB_LIMIT;
> + }
> +
Artem, this is now located *after* the call to
io_init(ubi, max_beb_per1024)
So falling to the default (in case max_beb_per1024 is zero) won't work.
Also, why displaying the error if max_beb_per1024 was NOT povided?
Shouldn't it be displayed only when max_beb_per1024 is other than zero?
What am I missing?
Regards,
Shmulik
More information about the linux-mtd
mailing list