[RFC] mtd: nand: Fix bad block identification issue

Brian Norris computersforpeace at gmail.com
Fri Apr 29 14:03:37 EDT 2011


On 4/29/2011 10:44 AM, Artem Bityutskiy wrote:
> On Fri, 2011-04-29 at 19:52 +0530, Saxena, Parth wrote:
>>
>>> -----Original Message-----
>>> From: Artem Bityutskiy [mailto:dedekind1 at gmail.com]
>>> Sent: Thursday, April 28, 2011 11:01 PM
>>> To: Saxena, Parth; Brian Norris
>>> Cc: linux-mtd at lists.infradead.org; Basheer, Mansoor Ahamed; linux-
>>> omap at vger.kernel.org
>>> Subject: Re: [RFC] mtd: nand: Fix bad block identification issue
>>>
>>> On Wed, 2011-04-27 at 17:39 +0530, Saxena, Parth wrote:
>>>> This patch solves the above issue for omap by initialising
>>>> badblockbits. We are working further on this to find a generic fix
>>>> to the problem in nand_base.c.
>>>
>>> But it looks like the generic solution is to return the line which was
>>> accidentally removed, how about this patch
>>>
>>> From: Artem Bityutskiy<Artem.Bityutskiy at nokia.com>
>>> Date: Thu, 28 Apr 2011 20:26:59 +0300
>>> Subject: [PATCH] mtd: return badblockbits back
>>>
>>> In commit c7b28e25cb9beb943aead770ff14551b55fa8c79 the initialization of
>>> the backblockbits was accidentally removed. This patch returns it back,
>>> because otherwise some NAND drivers are broken.
>>>
>>> This problem was reported by "Saxena, Parth<parth.saxena at ti.com>" here:
>>> http://lists.infradead.org/pipermail/linux-mtd/2011-April/035221.html
>>>
>>> Reported-by: Saxena, Parth<parth.saxena at ti.com>
>>> Signed-off-by: Artem Bityutskiy<Artem.Bityutskiy at nokia.com>
>>> Cc: stable at kernel.org [2.6.36+]
>>> ---
>>>   drivers/mtd/nand/nand_base.c |    2 ++
>>>   1 files changed, 2 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
>>> index 15510f2..5a7f817 100644
>>> --- a/drivers/mtd/nand/nand_base.c
>>> +++ b/drivers/mtd/nand/nand_base.c
>>> @@ -3106,6 +3106,8 @@ ident_done:
>>>   		chip->chip_shift += 32 - 1;
>>>   	}
>>>
>>> +	chip->badblockbits = 8;
>>> +
>>>   	/* Set the bad block position */
>>>   	if (mtd->writesize>  512 || (busw&  NAND_BUSWIDTH_16))
>>>   		chip->badblockpos = NAND_LARGE_BADBLOCK_POS;
>> [Saxena, Parth]
>>
>> Tested-By: Saxena, Parth<parth.saxena at ti.com>
>> Acked By: Saxena, Parth<parth.saxena at ti.com>
>
> Thanks, pushing to the l2-mtd-2.6.git.
>

As promised (but too late?):

Acked-by: Brian Norris <computersforpeace at gmail.com>



More information about the linux-mtd mailing list