mtd: nand: pxa3xx_nand: fix early spurious interrupt
authorOfer Heifetz <oferh@marvell.com>
Wed, 29 Aug 2018 08:56:03 +0000 (11:56 +0300)
committerStefan Roese <sr@denx.de>
Wed, 19 Sep 2018 07:00:39 +0000 (09:00 +0200)
When the nand is first probe, and upon the first command start, the
status bits should be cleared before the interrupts are unmasked.

This commit is taken from Linux:
'commit 0b14392db2e'
("mtd: nand: pxa3xx_nand: fix early spurious interrupt")

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Ofer Heifetz <oferh@marvell.com>
Reviewed-by: Igal Liberman <igall@marvell.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Stefan Roese <sr@denx.de>
drivers/mtd/nand/pxa3xx_nand.c

index 8e450fb..7b1dcb2 100644 (file)
@@ -481,8 +481,8 @@ static void pxa3xx_nand_start(struct pxa3xx_nand_info *info)
        ndcr |= NDCR_ND_RUN;
 
        /* clear status bits and run */
-       nand_writel(info, NDCR, 0);
        nand_writel(info, NDSR, NDSR_MASK);
+       nand_writel(info, NDCR, 0);
        nand_writel(info, NDCR, ndcr);
 }