Messages in this thread | | | Date | Thu, 3 Jul 2008 14:11:22 +0900 | From | "Magnus Damm" <> | Subject | Re: [PATCH] uio: User IRQ Mode |
| |
On Wed, Jul 2, 2008 at 8:31 PM, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: >> Note that the irq is disabled instead of acked. So this should not be a >> problem. The userspace part then is responsible to ack (first) and >> unmask the irq. > > That still doesn't make sense. > > If you call disable_irq in the IRQ handler you will deadlock because it > waits until the IRQ handler has completed.
Right, the uio_userirq_handler() function should use disable_irq_nosync() instead of disable_irq(). Otherwise we'll end up waiting forever for IRQ_INPROGRESS to be cleared in synchronize_irq() in the case of CONFIG_SMP.
Thanks!
/ magnus
| |