Re: [PATCH] mtd: rawnand: marvell: check for RDY bits after enabling the IRQ

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 28/09/18 08:36, Chris Packham wrote:
> On 27/09/18 19:13, Daniel Mack wrote:
>> Hi,
>>
>> On 27/9/2018 1:42 AM, Chris Packham wrote:
>>> On 27/09/18 11:33, Chris Packham wrote:
>>>> On 27/09/18 09:24, Daniel Mack wrote:
>>
>>>>> diff --git a/drivers/mtd/nand/raw/marvell_nand.c b/drivers/mtd/nand/raw/marvell_nand.c
>>>>> index 666f34b58dec..e96ec7b9a152 100644
>>>>> --- a/drivers/mtd/nand/raw/marvell_nand.c
>>>>> +++ b/drivers/mtd/nand/raw/marvell_nand.c
>>>>> @@ -613,7 +613,8 @@ static int marvell_nfc_wait_cmdd(struct nand_chip *chip)
>>>>>       static int marvell_nfc_wait_op(struct nand_chip *chip, unsigned int timeout_ms)
>>>>>       {
>>>>>       	struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
>>>>> -	int ret;
>>>>> +	int ret = -EALREADY;
>>>>
>>>> Won't this cause us to hit the if (!ret) below if we don't end up
>>>> calling wait_for_completion_timeout()?
>>>
>>> Nope boolean logic fail.
>>
>> Yup :)
>>
>>>> In fact I did just hit something
>>>> like this on my Armada-385 based board
>>>>
>>>> marvell-nfc f10d0000.nand-controller: Timeout waiting for RB signal
>>>> ubi0 warning: do_sync_erase: error -5 while erasing PEB 755, retry
>>>>
>>>
>>> But this still might be something else, it doesn't happen regularly. For
>>> what it's worth
>>>
>>> Tested-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
>>
>> Thanks. Did you see the issue that I described without that patch?
>>
> 
> Yes. I've just tried a test without your patch and I see the same thing.
> I wonder if my R/B configuration is correct.
> 

Sure enough I was missing the pinctrl configuration so the R/B wasn't 
quite configured correctly.

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux