2008/12/26 Thomas Petazzoni <[email protected]>:
> Le Fri, 26 Dec 2008 15:05:28 +0300,
> "Denis Borisevich" <[email protected]> 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.
When I call request_irq() with IRQF_SHARED as an argument I get -EINVAL.
Any ideas?
--
Denis
N�����r��y����b�X��ǧu�ޙ���+a�{.n�+���z�ޖw�n'����j�b�ye�{������z��v�^�m���z�ޖw�n'���?