Re: [PATCH 2/2] acpi: Disable IRQ 0 through I/O APIC for some HP systems

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

 



On Mon, 7 Jul 2008, Rafael J. Wysocki wrote:

> @@ -1714,12 +1721,14 @@ static inline void __init check_timer(vo
>  		apic2 = apic1;
>  	}
>  
> -	replace_pin_at_irq(0, 0, 0, apic1, pin1);
> -	apic1 = 0;
> -	pin1 = 0;
> -	setup_timer_IRQ0_pin(apic1, pin1, cfg->vector);
> +	if (disable_irq0_through_ioapic) {
> +		clear_IO_APIC_pin(apic1, pin1);
> +	} else {
> +		replace_pin_at_irq(0, 0, 0, apic1, pin1);
> +		apic1 = 0;
> +		pin1 = 0;
> +		setup_timer_IRQ0_pin(apic1, pin1, cfg->vector);
>  
> -	if (pin1 != -1) {
>  		/*
>  		 * Ok, does IRQ0 through the IOAPIC work?
>  		 */

 This is completely broken -- you cannot blindly assume IRQ0 is wired to
the pin #0 of the I/O APIC #0.  You have to respect routing information
provided by the system.

 Ingo, from the sequence above, I gather this code is currently in the 
tree:

-	replace_pin_at_irq(0, 0, 0, apic1, pin1);
-	apic1 = 0;
-	pin1 = 0;

Please revert the change which introduced it.  While I recall posting a
patch which added code like this, I clearly stated it was solely for
diagnostics of Rafael's system and not to apply to any tree.

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

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux