diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-07-27 11:30:48 +0530 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2009-08-04 20:31:32 +0200 |
commit | 1cef8e41073efe47e809f49670eb461307e52ccc (patch) | |
tree | aa598b771302e24450d87e5c83e5183627f49cb0 /usr | |
parent | a33a052f19a21d727847391c8c1aff3fb221c472 (diff) | |
download | op-kernel-dev-1cef8e41073efe47e809f49670eb461307e52ccc.zip op-kernel-dev-1cef8e41073efe47e809f49670eb461307e52ccc.tar.gz |
mfd: twl4030 irq fixes
The TWL4030 IRQ handler has a bug which leads to spinlock lock-up. It is
calling the 'unmask' function in a process context. :The mask/unmask/ack
functions are only designed to be called from the IRQ handler code,
or the proper API interfaces found in linux/interrupt.h.
Also there is no need to have IRQ chaining mechanism. The right way to
handle this is to claim the parent interrupt as a standard interrupt
and arrange for handle_twl4030_pih to take care of the rest of the devices.
Mail thread on this issue can be found at:
http://marc.info/?l=linux-arm-kernel&m=124629940123396&w=2
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'usr')
0 files changed, 0 insertions, 0 deletions