Hi On Tuesday 06 March 2012, Thomas Gleixner wrote: > On Tue, 6 Mar 2012, Sven Joachim wrote: > > Am 06.03.2012 um 20:31 schrieb Thomas Gleixner: > > > > > Stephan, Sven: Can you please provide the output of /proc/interrupts ? > > > > Here is mine, from a freshly booted 3.3-rc6 kernel. > > > > Cheers, > > Sven > > > > CPU0 > > 0: 25050 XT-PIC-XT-PIC timer […] > > 10: 341 XT-PIC-XT-PIC uhci_hcd:usb4, snd_hda_intel, b43 > > Ah, XT-PIC uses handle_level_irq(). /me bangs head against desk. > > Does the patch below fix the problem for you ? > > Thanks, > > tglx > > -----------------> > Subject: genirq: Clear action->thread_mask if IRQ_ONESHOT is not set > > commit ac5637611(genirq: Unmask oneshot irqs when thread was not > woken) fails to unmask when a !IRQ_ONESHOT threaded handler is handled > by handle_level_irq. This happens because thread_mask is or'ed > unconditionally in irq_wake_thread(), but for !IRQ_ONESHOT interrupts > never cleared. So the check for !desc->thread_active fails and keeps > the interrupt disabled. > > Keep the thread_mask zero for !IRQ_ONESHOT interrupts. […] I can confirm that this patch, applied to 2.6.9, including "genirq: Unmask oneshot irqs when thread was not woken", and + the current stable queue-3.2 fixes b43 wlan operations. Feel free to add Tested-by: Stefan Lippers-Hollmann <s.l-h@xxxxxx> if you like. Thanks a lot Stefan Lippers-Hollmann
Attachment:
signature.asc
Description: This is a digitally signed message part.