Messages in this thread | | | Subject | Re: MFD: mutex from ISR in ezx-pcap? | From | Daniel Ribeiro <> | Date | Tue, 30 Jun 2009 05:57:36 -0300 |
| |
Em Ter, 2009-06-30 às 00:11 +0200, Jiri Slaby escreveu: > > pcap_adc_irq actually already runs from a workqueue (pcap_isr_work). > > Aha, thanks, there is a specific irq handler. Ok, sounds fair. > > But interrupts are disabled in pcap_isr_work anyway,
Right.
> so that > pcap_adc_irq shouldn't sleep, right? Or maybe I missed something again...
No. Interrupts are enabled again before pcap_adc_irq() runs.
pcap_isr_work() doesn't call pcap_adc_irq directly, it calls the irq_flow_handler, handle_simple_irq(), which needs to run with interrupts disabled. Interrupts are enabled again on handle_IRQ_event(), as pcap_adc_irq is requested _without_ IRQF_DISABLED.
-- Daniel Ribeiro [unhandled content-type:application/pgp-signature] | |