summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@marvell.com>2009-09-10 14:27:23 +0800
committerEric Miao <eric.y.miao@gmail.com>2009-12-01 09:02:40 +0800
commit346e125967c39fc25263f3071dfc88224ae843f4 (patch)
tree2bb95839a96eb40d61f0bf1d94764d2c77a827f0
parentdbf5986aed62620d3dde54e1b63889821c857675 (diff)
downloadlinux-346e125967c39fc25263f3071dfc88224ae843f4.tar.bz2
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>
-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) {