From patchwork Thu Aug 23 10:10:15 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artem Bityutskiy X-Patchwork-Id: 179585 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:4978:20e::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 0E2CC2C00AF for ; Thu, 23 Aug 2012 20:06:54 +1000 (EST) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1T4UIW-0007fN-Ev; Thu, 23 Aug 2012 10:05:56 +0000 Received: from mga01.intel.com ([192.55.52.88]) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1T4UIO-0007eh-Al for linux-mtd@lists.infradead.org; Thu, 23 Aug 2012 10:05:52 +0000 Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP; 23 Aug 2012 03:05:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.80,299,1344236400"; d="asc'?scan'208";a="209355722" Received: from linux.jf.intel.com (HELO linux.intel.com) ([10.23.219.25]) by fmsmga001.fm.intel.com with ESMTP; 23 Aug 2012 03:05:26 -0700 Received: from [10.237.72.96] (sauron.fi.intel.com [10.237.72.96]) by linux.intel.com (Postfix) with ESMTP id D09002C8001; Thu, 23 Aug 2012 03:05:26 -0700 (PDT) Message-ID: <1345716615.2848.229.camel@sauron.fi.intel.com> Subject: Re: [PATCH v3 0/6] UBI: add max_beb_per1024 parameter / ioctl From: Artem Bityutskiy To: Richard Genoud Date: Thu, 23 Aug 2012 13:10:15 +0300 In-Reply-To: <1345478416-23900-1-git-send-email-richard.genoud@gmail.com> References: <1345478416-23900-1-git-send-email-richard.genoud@gmail.com> X-Mailer: Evolution 3.2.3 (3.2.3-3.fc16) Mime-Version: 1.0 X-Spam-Note: CRM114 invocation failed X-Spam-Score: -5.0 (-----) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-5.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at http://www.dnswl.org/, high trust [192.55.52.88 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (dedekind1[at]gmail.com) 0.0 DKIM_ADSP_CUSTOM_MED No valid author signature, adsp_override is CUSTOM_MED 0.8 SPF_NEUTRAL SPF: sender does not match SPF record (neutral) 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (dedekind1[at]gmail.com) -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 0.9 NML_ADSP_CUSTOM_MED ADSP custom_med hit, and not from a mailing list Cc: linux-mtd@lists.infradead.org, Shmulik Ladkani X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: dedekind1@gmail.com List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-mtd-bounces@lists.infradead.org Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org On Mon, 2012-08-20 at 18:00 +0200, Richard Genoud wrote: > This patch serie introduce, step by step the kernel module parameter > max_beb_per1024, then the ioctl and finally drop the kernel config option > CONFIG_MTD_UBI_BEB_LIMIT. > > It's based on top of linux-ubi/master (4ebb4b5) I've also pushed this patch: From 5fe236c703063f9bc87b66c593408a0d48bbe0e7 Mon Sep 17 00:00:00 2001 From: Artem Bityutskiy Date: Thu, 23 Aug 2012 13:01:11 +0300 Subject: [PATCH] UBI: disallow max_beb_per1024 on NOR flash If the flash does not admit of bad blocks (e.g., NOR) - disallow using 'max_beb_per1024'. Signed-off-by: Artem Bityutskiy --- drivers/mtd/ubi/build.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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; + } + err = -ENOMEM; ubi->peb_buf = vmalloc(ubi->peb_size); if (!ubi->peb_buf)