[PATCH 0/9] Fix unsafe disable_irq usage

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Ben Nizette
Date: Wednesday, April 15, 2009 - 10:54 pm

After being bitten by unsafe usage of disable_irq from within that irq's
handler [1], I went through and used Coccinelle to audit the rest of
drivers/ too.  This turned up 9 more unsafe usages.

As Haavard pointed out in that thread, disable_irq waits for running
handlers of an irq to complete before returning.  When a handler
disable_irq's its own irq then we see a deadlock.

Note that this wasn't actually observed in the wild until the recent
merge of

commit 3aa551c9b4c40018f0e261a178e3d25478dc04a9
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Mon Mar 23 18:28:15 2009 +0100

    genirq: add threaded interrupt handler support

    Add support for threaded interrupt handlers



Regards,
	--Ben.


[1] http://lkml.org/lkml/2009/4/15/498

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 0/9] Fix unsafe disable_irq usage, Ben Nizette, (Wed Apr 15, 10:54 pm)
Re: [PATCH 0/9] Fix unsafe disable_irq usage, Dmitry Torokhov, (Sat Apr 18, 4:38 pm)