Re: [patch 00/75] genirq: Overhaul for 2.6.39
From: Frank Rowand <hidden>
Date: 2011-02-11 04:03:29
Also in:
lkml
On 02/10/11 15:35, Thomas Gleixner wrote:
This is a major overhaul of the generic interrupt layer.
- Namespace cleanup
- Further encapsulation of the core state
- Spurious/Poll handling fixes
- Stop setaffinity blindly manipulating affinity mask
- Cleanups and enhancements all over the placeHi Thomas, You seem to have overlooked a patch from me: Update comments to match code change in 70aedd24 The comments for enable_irq() were updated correctly, but disable_irq_nosync() and disable_irq() were missed. Signed-off-by: Frank Rowand <redacted> --- kernel/irq/manage.c | 7 5 + 2 - 0 ! 1 file changed, 5 insertions(+), 2 deletions(-) Index: b/kernel/irq/manage.c ===================================================================
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c@@ -353,7 +353,8 @@ void __disable_irq(struct irq_desc *desc * Unlike disable_irq(), this function does not ensure existing * instances of the IRQ handler have completed before returning. * - * This function may be called from IRQ context. + * This function may be called from IRQ context only when + * desc->chip->bus_lock and desc->chip->bus_sync_unlock are NULL ! */ void disable_irq_nosync(unsigned int irq) {
@@ -381,7 +382,9 @@ EXPORT_SYMBOL(disable_irq_nosync); * to complete before returning. If you use this function while * holding a resource the IRQ handler may need you will deadlock. * - * This function may be called - with care - from IRQ context. + * This function may be called - with care - from IRQ context only when + * desc->chip->bus_lock and desc->chip->bus_sync_unlock are NULL ! + * See synchronize_irq() comments for explanation of "with care". */ void disable_irq(unsigned int irq) {