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 Monday, 7 of July 2008, Maciej W. Rozycki wrote:
> 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.

Shouldn't the setup_timer_IRQ0_pin(apic1, pin1, cfg->vector) be removed as
well?

Rafael
--
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