pxa3xx_nand: disable nand irq in initialization
authorHaojian Zhuang <haojian.zhuang@marvell.com>
Thu, 10 Sep 2009 06:27:23 +0000 (14:27 +0800)
committerEric Miao <eric.y.miao@gmail.com>
Tue, 1 Dec 2009 01:02:40 +0000 (09:02 +0800)
In some bootloader, IRQ is enabled. Writing nand triggers unexpected
interrupts. So disable nand irq in initialization. After nand
initialized and in working state, irq is controlled by nand driver.

Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
drivers/mtd/nand/pxa3xx_nand.c

index e75b1bf6df121cd134d47e58b307765c8c28bb91..11f32454fc77fbb4d2c64263ff1d6c6eddbb83ce 100644 (file)
@@ -1244,6 +1244,9 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
        if (ret)
                goto fail_free_io;
 
+       /* initialize all interrupts to be disabled */
+       disable_int(info, NDSR_MASK);
+
        ret = request_irq(irq, pxa3xx_nand_irq, IRQF_DISABLED,
                          pdev->name, info);
        if (ret < 0) {