RE: "No irq handler for vector" problem

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

 



On June 21, 2019 19:00:25 Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:

> On Fri, 21 Jun 2019, Hodaszi, Robert wrote:
>>
>>
>> Also, it seems, if I'm running the serial port opening-closing process
>> on the same core as the interrupt is assigned to, I'm not getting the
>> error message. If I'm running it on a different core, most of the time,
>> I'm getting the error message.
>
> ...
>
>> Unfortunately, I'm stuck at this point a bit. Don't really know, what
>> would be the proper solution (how could I avoid free'ing up a pending
>> IRQ's vector), also I'm not knowing the x86 part of the kernel very well
>> yet.
>
> Not freeing the vector would just paper over the problem. Can you try the
> patch below?
>
> Thanks,
>
> tglx
>
> 8<------------------
> diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
> index 53aa234a6803..189db40b0524 100644
> --- a/arch/x86/kernel/apic/io_apic.c
> +++ b/arch/x86/kernel/apic/io_apic.c
> @@ -3003,8 +3003,8 @@ void mp_irqdomain_deactivate(struct irq_domain *domain,
>      struct irq_data *irq_data)
> {
>  /* It won't be called for IRQ with multiple IOAPIC pins associated */
> - ioapic_mask_entry(mp_irqdomain_ioapic_idx(domain),
> -  (int)irq_data->hwirq);
> + clear_IO_APIC_pin(mp_irqdomain_ioapic_idx(domain),
> +  (unsigned int)irq_data->hwirq);
> }
>
> int mp_irqdomain_ioapic_idx(struct irq_domain *domain)

I can try it on Monday. Thanks!

Robert



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux