Le Fri, 26 Dec 2008 15:05:28 +0300, "Denis Borisevich" <dennisfen@xxxxxxxxx> a écrit : > In my driver init function I try to register interrupt handler with > request_irq(), but always get -EBUSY. This interrupt is shared with > ahci driver. I use kernel version 2.6.24.7. Is there any other way to > register the interrupt handler? Or maybe I'm doing something wrong? The code is in kernel/irq/manage.c:setup_irq() : if (!((old->flags & new->flags) & IRQF_SHARED) || ((old->flags ^ new->flags) & IRQF_TRIGGER_MASK)) { old_name = old->name; goto mismatch; } The AHCI interrupt is registered with IRQF_SHARED (at least in recent kernels, I didn't check in 2.6.24). Make sure you also register your handler with IRQF_SHARED in the flags. If so, then the trigger type may not match. Sincerly, Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ