summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/pxa3xx_nand.c
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@marvell.com>2009-09-10 08:27:23 +0200
committerEric Miao <eric.y.miao@gmail.com>2009-12-01 02:02:40 +0100
commit346e125967c39fc25263f3071dfc88224ae843f4 (patch)
tree2bb95839a96eb40d61f0bf1d94764d2c77a827f0 /drivers/mtd/nand/pxa3xx_nand.c
parentpxa3xx_nand: remove hardcode irq number (diff)
downloadlinux-346e125967c39fc25263f3071dfc88224ae843f4.tar.xz
linux-346e125967c39fc25263f3071dfc88224ae843f4.zip
pxa3xx_nand: disable nand irq in initialization
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>
Diffstat (limited to 'drivers/mtd/nand/pxa3xx_nand.c')
-rw-r--r--drivers/mtd/nand/pxa3xx_nand.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index e75b1bf6df12..11f32454fc77 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -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) {