Thread (8 messages) 8 messages, 6 authors, 2015-01-21

[PATCH 1/1] gpio: omap: Fix bad device access with setup_irq()

From: Russell King - ARM Linux <hidden>
Date: 2015-01-17 10:11:23
Also in: linux-gpio, linux-omap

On Fri, Jan 16, 2015 at 04:19:41PM -0800, santosh shilimkar wrote:
On 1/16/2015 2:50 PM, Tony Lindgren wrote:
quoted
Similar to omap_gpio_irq_type() let's make sure that the GPIO
is usable as an interrupt if the platform init code did not
call gpio_request(). Otherwise we can get invalid device access
after setup_irq():
I let Linus W comment on it but IIRC we chewed this issue last
time and the conclusion was the gpio_request() must have to be called
directly or indirectly in case of irq line.
That's really not the issue here.

The issue is that it's possible to claim the interrupt, and then the
driver goes wrong - not only does it attempt in that case to access
hardware which is runtime suspended, if the interrupt is subsequently
freed, it will then do a pm_runtime_put().

The interrupt code is wrong there, plain and simple.

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help