Re: Howto acquire shared interrupt line?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux