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-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to