diff options
author | Haojian Zhuang <haojian.zhuang@marvell.com> | 2009-09-10 02:27:23 -0400 |
---|---|---|
committer | Eric Miao <eric.y.miao@gmail.com> | 2009-11-30 20:02:40 -0500 |
commit | 346e125967c39fc25263f3071dfc88224ae843f4 (patch) | |
tree | 2bb95839a96eb40d61f0bf1d94764d2c77a827f0 /drivers/mtd | |
parent | dbf5986aed62620d3dde54e1b63889821c857675 (diff) |
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')
-rw-r--r-- | drivers/mtd/nand/pxa3xx_nand.c | 3 |
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) | |||
1244 | if (ret) | 1244 | if (ret) |
1245 | goto fail_free_io; | 1245 | goto fail_free_io; |
1246 | 1246 | ||
1247 | /* initialize all interrupts to be disabled */ | ||
1248 | disable_int(info, NDSR_MASK); | ||
1249 | |||
1247 | ret = request_irq(irq, pxa3xx_nand_irq, IRQF_DISABLED, | 1250 | ret = request_irq(irq, pxa3xx_nand_irq, IRQF_DISABLED, |
1248 | pdev->name, info); | 1251 | pdev->name, info); |
1249 | if (ret < 0) { | 1252 | if (ret < 0) { |