]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
mtd: Blackfin NFC: wait for the ECC reset to finish
authorBarry Song <barry.song@analog.com>
Thu, 5 Aug 2010 15:07:41 +0000 (11:07 -0400)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Thu, 5 Aug 2010 15:14:24 +0000 (16:14 +0100)
When resetting the ECC registers/counters, the bit will automatically
clear itself once the reset has actually finished.  So make sure we
wait for that to occur before doing anything else rather than assuming
everything is peachy and proceeding with stale ECC values.

Signed-off-by: Barry Song <barry.song@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/nand/bf5xx_nand.c

index d48cc39afc21ebe190ae98dbe7878c4ba20c1b9b..8070ff359a418fa51c3971f2e746ae3c5555f929 100644 (file)
@@ -507,6 +507,8 @@ static void bf5xx_nand_dma_rw(struct mtd_info *mtd,
         */
        bfin_write_NFC_RST(ECC_RST);
        SSYNC();
+       while (bfin_read_NFC_RST() & ECC_RST)
+               cpu_relax();
 
        disable_dma(CH_NFC);
        clear_dma_irqstat(CH_NFC);