linux/drivers/mtd
Eric Bénard 6a8cfcfb0d mtd: mxc_nand: fix unbalanced enable for IRQ
* preset should be done before sending the reset command

* without this, I get the following error on an i.MX35 :
[    0.900000] ------------[ cut here ]------------
[    0.900000] WARNING: at kernel/irq/manage.c:290 __enable_irq+0x4c/0x88()
[    0.900000] Unbalanced enable for IRQ 33
[    0.900000] Modules linked in:
[    0.900000] [<c002ffb8>] (unwind_backtrace+0x0/0xf0) from [<c02f7d0c>] (dump_stack+0x18/0x1c)
[    0.900000] [<c02f7d0c>] (dump_stack+0x18/0x1c) from [<c0049a44>] (warn_slowpath_common+0x54/0x6c)
[    0.900000] [<c0049a44>] (warn_slowpath_common+0x54/0x6c) from [<c0049b00>] (warn_slowpath_fmt+0x38/0x40)
[    0.900000] [<c0049b00>] (warn_slowpath_fmt+0x38/0x40) from [<c008f65c>] (__enable_irq+0x4c/0x88)
[    0.900000] [<c008f65c>] (__enable_irq+0x4c/0x88) from [<c008fca0>] (enable_irq+0x54/0x98)
[    0.900000] [<c008fca0>] (enable_irq+0x54/0x98) from [<c021e618>] (wait_op_done+0x40/0x134)
[    0.900000] [<c021e618>] (wait_op_done+0x40/0x134) from [<c021e808>] (send_cmd+0x30/0x38)
[    0.900000] [<c021e808>] (send_cmd+0x30/0x38) from [<c021eb8c>] (mxc_nand_command+0x26c/0x328)
[    0.900000] [<c021eb8c>] (mxc_nand_command+0x26c/0x328) from [<c021aa60>] (nand_scan_ident+0x188/0x6c0)
[    0.900000] [<c021aa60>] (nand_scan_ident+0x188/0x6c0) from [<c001a9cc>] (mxcnd_probe+0x2b8/0x3d0)
[    0.900000] [<c001a9cc>] (mxcnd_probe+0x2b8/0x3d0) from [<c01f9e88>] (platform_drv_probe+0x20/0x24)
[    0.900000] [<c01f9e88>] (platform_drv_probe+0x20/0x24) from [<c01f8c38>] (driver_probe_device+0xb0/0x164)
[    0.900000] [<c01f8c38>] (driver_probe_device+0xb0/0x164) from [<c01f8d54>] (__driver_attach+0x68/0x8c)
[    0.900000] [<c01f8d54>] (__driver_attach+0x68/0x8c) from [<c01f8348>] (bus_for_each_dev+0x50/0x84)
[    0.900000] [<c01f8348>] (bus_for_each_dev+0x50/0x84) from [<c01f8a9c>] (driver_attach+0x20/0x28)
[    0.900000] [<c01f8a9c>] (driver_attach+0x20/0x28) from [<c01f7c00>] (bus_add_driver+0x144/0x2dc)
[    0.900000] [<c01f7c00>] (bus_add_driver+0x144/0x2dc) from [<c01f906c>] (driver_register+0xb0/0x13c)
[    0.900000] [<c01f906c>] (driver_register+0xb0/0x13c) from [<c01fa13c>] (platform_driver_register+0x4c/0x60)
[    0.900000] [<c01fa13c>] (platform_driver_register+0x4c/0x60) from [<c01fa170>] (platform_driver_probe+0x20/0xa0)
[    0.900000] [<c01fa170>] (platform_driver_probe+0x20/0xa0) from [<c001a708>] (mxc_nd_init+0x18/0x24)
[    0.900000] [<c001a708>] (mxc_nd_init+0x18/0x24) from [<c002938c>] (do_one_initcall+0x64/0x1bc)
[    0.900000] [<c002938c>] (do_one_initcall+0x64/0x1bc) from [<c00084c4>] (kernel_init+0xe8/0x1ac)
[    0.900000] [<c00084c4>] (kernel_init+0xe8/0x1ac) from [<c002aee8>] (kernel_thread_exit+0x0/0x8)
[    0.900000] ---[ end trace 8bf72ac6ba089a19 ]---
[    1.140000] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron NAND 256MiB 3,3V 8-bit)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2010-08-02 09:07:34 +01:00
..
chips mtd: cfi_probe: print manufacturer and id of probed chip 2010-08-02 09:05:20 +01:00
devices mtd: dataflash: remove casts from void 2010-08-02 09:05:46 +01:00
lpddr drivers/mtd: Use kzalloc 2010-05-13 21:23:06 +01:00
maps mtd: physmap: use resource_size() 2010-08-02 09:03:55 +01:00
nand mtd: mxc_nand: fix unbalanced enable for IRQ 2010-08-02 09:07:34 +01:00
onenand mtd: remove redundant dependency checks in Kconfig files 2010-08-02 09:01:42 +01:00
tests mtd: tests: return -1 if verify failed 2010-08-02 09:06:20 +01:00
ubi UBI: misc comment fixes 2010-05-07 08:33:32 +03:00
afs.c mtd: afs: fix build warning 2009-09-04 09:38:14 +01:00
ar7part.c
cmdlinepart.c mtd: cmdlineparts: Use 64-bit format when printing a debug message. 2009-06-25 08:18:12 +01:00
ftl.c mtd: blktrans: Hotplug fixes 2010-02-26 17:05:26 +00:00
inftlcore.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-03-26 14:55:59 +00:00
inftlmount.c mtd: inftl: misplaced parenthesis in find_boot_record 2010-02-26 13:22:07 +00:00
Kconfig mtd: remove redundant dependency checks in Kconfig files 2010-08-02 09:01:42 +01:00
Makefile Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-05-10 14:32:46 +01:00
mtd_blkdevs.c mtd: return success on blktrans_ioctl 2010-08-02 09:01:47 +01:00
mtdblock_ro.c mtd: mtdblock: test return value of add_mtd_blktrans_dev, because if can fail 2010-02-26 17:05:46 +00:00
mtdblock.c mtd: Few follow up cleanups for Smartmedia/xD support 2010-02-26 20:13:49 +00:00
mtdchar.c mtd: add an ioctl to query the lock status of a flash sector 2010-08-02 09:03:41 +01:00
mtdconcat.c mtd: mtdconcat: fix bug with uninitialized lock and unlock functions 2010-08-02 09:04:20 +01:00
mtdcore.c mtd: update gfp/slab.h includes 2010-05-19 17:21:52 +01:00
mtdcore.h mtd: Replace static array of devices with an idr structure 2010-02-25 11:55:14 +00:00
mtdoops.c mtd: Remove unnecessary comparisons with MAX_MTD_DEVICES 2010-02-25 11:39:09 +00:00
mtdpart.c mtd: add an ioctl to query the lock status of a flash sector 2010-08-02 09:03:41 +01:00
mtdsuper.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2010-05-10 14:32:46 +01:00
nftlcore.c mtd: blktrans: Hotplug fixes 2010-02-26 17:05:26 +00:00
nftlmount.c
ofpart.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
redboot.c
rfd_ftl.c mtd: blktrans: Hotplug fixes 2010-02-26 17:05:26 +00:00
sm_ftl.c bitops: rename for_each_bit() to for_each_set_bit(): mtd 2010-04-08 09:42:41 +01:00
sm_ftl.h mtd: Add new SmartMedia/xD FTL 2010-02-26 19:06:50 +00:00
ssfdc.c mtd: blktrans: Hotplug fixes 2010-02-26 17:05:26 +00:00