lkml.org 
[lkml]   [2009]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] ads7846: fix unsafe disable_irq (was [REGRESSION] threaded interrupt handler support breaks (some) irq handling on AVR32)
On Thu, Apr 16, 2009 at 10:41:57AM +1000, Ben Nizette wrote:
> On Wed, 2009-04-15 at 09:57 +0200, Haavard Skinnemoen wrote:
> > Shouldn't that be disable_irq_nosync()?
>
> Indeed, good catch. That fixes it.
>
> --------------8<--------------------
>
> The use of disable_irq inside the handler for the interrupt being
> disabled has always been dangerous. disable_irq should wait for that
> handler to complete before returning -> deadlock.
>
> For some reason this wasn't actually the case until 3aa551c9b was merged
> but since this time, the ads7846 driver has deadlocked the system on
> first interrupt.
>
> Convert the driver to use the handler-safe _nosync variant.
>

Applied, thank you very much Ben.

--
Dmitry


\
 
 \ /
  Last update: 2009-04-16 04:01    [W:0.101 / U:2.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site