Re: do_IRQ: 1.55 No irq handler for vector (irq -1)

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

 



On 07.08.12 15:39:07, Suresh Siddha wrote:
> Boris, Robert, can you check if the below patch makes both of your
> systems happy again (essentially not allowing the vector to change for
> legacy irq's, which also allows the RTE to be set correctly in the smp
> case etc)? Based on your results and some more thinking, I will send a
> detailed patch with changelog tomorrow.
> 
>  arch/x86/kernel/apic/io_apic.c |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)

Suresh,

with your patch applied the sata device works fine and the system
boots, no issues seen.

Thanks,

-Robert

> 
> diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
> index a6c64aa..4b98610 100644
> --- a/arch/x86/kernel/apic/io_apic.c
> +++ b/arch/x86/kernel/apic/io_apic.c
> @@ -1356,6 +1356,15 @@ static void setup_ioapic_irq(unsigned int irq, struct irq_cfg *cfg,
>  	if (!IO_APIC_IRQ(irq))
>  		return;
>  
> +	/*
> +	 * For legacy irqs, cfg->domain starts with cpu 0. Now that IO-APIC
> +	 * can handle this irq and the apic driver is finialized at this point,
> +	 * update the cfg->domain.
> +	 */
> +	if (irq < legacy_pic->nr_legacy_irqs &&
> +	    cpumask_equal(cfg->domain, cpumask_of(0)))
> +		apic->vector_allocation_domain(0, cfg->domain, cpu_online_mask);
> +
>  	if (assign_irq_vector(irq, cfg, apic->target_cpus()))
>  		return;
>  
> 
> 
> 

-- 
Advanced Micro Devices, Inc.
Operating System Research Center

--
To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Stable Commits]     [Linux Stable Kernel]     [Linux Kernel]     [Linux USB Devel]     [Linux Video &Media]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux