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.