On Tue, 21 Apr 2020 18:48:52 +0200 Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote: > In a previous fix, I changed the condition on which the timeout of an > IRQ is reached from: > > if (!ret) > > into: > > if (ret && !pending) > > While having a non-zero return code is usual in the Linux kernel, here > ret comes from a wait_for_completion_timeout() which returns 0 when > the waiting period is too long. > > Hence, the revised condition should be: > > if (!ret && !pending) > > The faulty patch did not produce any error because of the !pending > condition so this change is finally purely cosmetic and does not > change the actual driver behavior. > > Fixes: cafb56dd741e ("mtd: rawnand: marvell: prevent timeouts on a loaded machine") > Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> > --- > drivers/mtd/nand/raw/marvell_nand.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mtd/nand/raw/marvell_nand.c b/drivers/mtd/nand/raw/marvell_nand.c > index 179f0ca585f8..f2bf88336326 100644 > --- a/drivers/mtd/nand/raw/marvell_nand.c > +++ b/drivers/mtd/nand/raw/marvell_nand.c > @@ -707,7 +707,7 @@ static int marvell_nfc_wait_op(struct nand_chip *chip, unsigned int timeout_ms) > * In case the interrupt was not served in the required time frame, > * check if the ISR was not served or if something went actually wrong. > */ > - if (ret && !pending) { > + if (!ret && !pending) { > dev_err(nfc->dev, "Timeout waiting for RB signal\n"); > return -ETIMEDOUT; > } ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/