diff options
author | Steffen Trumtrar <s.trumtrar@pengutronix.de> | 2016-09-22 16:46:37 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-09-26 08:03:34 +0200 |
commit | acc6cc82a190f1577e71164a4d10422e5d216ffb (patch) | |
tree | 5da57d7e174d669f2486fde3bcb9ba783eae39b6 /drivers/mtd/nand/nand_denali.c | |
parent | c42e8262c827d267be9529da1373efeaf535ec6b (diff) | |
download | barebox-acc6cc82a190f1577e71164a4d10422e5d216ffb.tar.gz barebox-acc6cc82a190f1577e71164a4d10422e5d216ffb.tar.xz |
nand: denali: use correct interrupts in read_page
The interrupt mask is incorrect in case of HW error correction.
The driver will time out waiting for the wrong interrupts.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mtd/nand/nand_denali.c')
-rw-r--r-- | drivers/mtd/nand/nand_denali.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/mtd/nand/nand_denali.c b/drivers/mtd/nand/nand_denali.c index bf9a05d852..ceb5a8b87e 100644 --- a/drivers/mtd/nand/nand_denali.c +++ b/drivers/mtd/nand/nand_denali.c @@ -1102,8 +1102,9 @@ static int denali_read_page(struct mtd_info *mtd, struct nand_chip *chip, size_t size = denali->mtd.writesize + denali->mtd.oobsize; uint32_t irq_status; - uint32_t irq_mask = INTR_STATUS__ECC_TRANSACTION_DONE | - INTR_STATUS__ECC_ERR; + uint32_t irq_mask = denali->have_hw_ecc_fixup ? + (INTR_STATUS__DMA_CMD_COMP) : + (INTR_STATUS__ECC_TRANSACTION_DONE | INTR_STATUS__ECC_ERR); bool check_erased_page = false; if (page != denali->page) { |