Re: MFD: mutex from ISR in ezx-pcap?

From: Daniel Ribeiro
Date: Tue Jun 30 2009 - 04:57:54 EST


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

Attachment: signature.asc
Description: Esta =?ISO-8859-1?Q?=E9?= uma parte de mensagemassinada digitalmente