On 2019-09-13 14:09:22 [+0000], Martin.Wirth@xxxxxx wrote: > Hi Sebastian Hi Martin, > I will try the request_threaded_irq(, NULL, vInterruptService, …) solution on > Monday and report back. Since the driver also allows to poll several cards > (which I don't use at the moment) I think it is not possible to switch to swait/swake... If you support the ->poll callback then it is not that simple to use swait. For tasks that block in ->read()/->write() you could use it, for ->poll() you need the threaded handler to handle poll(). > And the interrupt line may be shared and if I remember correctly in this case it is also > not possible to use primary handlers, or am I wrong? puh. So you need to specify IRQF_ONESHOT so that the IRQ-core disables the interrupt line until the threaded handler finishes its work (a detail I forgot to mention in the previous mail). You are not allowed to mix the IRQF_ONESHOT flag with multiple handlers (either all should have them or none). So I think in the force-threaded case you should be fine but in the non-threaded case you would have trouble. > Cheers, > Martin Sebastian