Messages in this thread | | | Date | Wed, 15 Apr 2009 18:58:27 -0700 | From | Dmitry Torokhov <> | Subject | Re: [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
| |