Re: [PATCH] mtd: cfi_cmdset_0001: Support the absence of protection registers

Vignesh Raghavendra
2020-05-01T06:25:24Z

Hi,

On 4/30/2020 10:02 PM, Catalin Marinas wrote:
> On Fri, Apr 17, 2020 at 04:23:26PM +0200, Jean-Philippe Brucker wrote:
>> The flash controller implemented by the Arm Base platform behaves like
>> the Intel StrataFlash J3 device, but omits several features. In
>> particular it doesn't implement a protection register, so "Number of
>> Protection register fields" in the Primary Vendor-Specific Extended
>> Query, is 0.
>>
>> The Intel StrataFlash J3 datasheet only lists 1 as a valid value for
>> NumProtectionFields. It describes the field as:
>>
>> "Number of Protection register fields in JEDEC ID space.
>> “00h,” indicates that 256 protection bytes are available"
>>
>> While a value of 0 may arguably not be architecturally valid, the
>> driver's current behavior is certainly wrong: if NumProtectionFields is
>> 0, read_pri_intelext() adds a negative value to the unsigned extra_size,
>> and ends up in an infinite loop.
>>
>> Fix it by ignoring a NumProtectionFields of 0.
>>
>> Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
>
> If you need another confirmation:
>
> Tested-by: Catalin Marinas <catalin.marinas@arm.com>
>

Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git cfi/next

Thanks
Vignesh