Re: bogus VIA IRQ fixup in drivers/pci/quirks.c

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

 




On Mon, 26 Sep 2005, Olaf Hering wrote:
> 
> Why is the irq changed from 24 to 0, and why does uhci use irq 24
> anyway? I dont have the /proc/interrupts output from this box, maybe no
> interrupt is handled for the controller? None of the attached usb
> devices is recognized with 2.6.13.

Did that USB controller use to work in older kernels?

> <6>USB Universal Host Controller Interface driver v2.3
> <4>PCI: Enabling device 0000:00:0e.0 (0094 ->0095)
> <6>PCI:Via IRQ fixup for 0000:00:0e.0, from 24 to 0

That does seem to be seriously broken.

The old code wouldn't do that IRQ fixup for IO-APIC users, and I think 
that's correct.

The commit (93cffffa19960464a52f9c78d9a6150270d23785) says:

    [PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode

    At least some VIA chipsets require the fixup even in IO-APIC mode.

    This was found and debugged with the patient assistance of Stian
    Jordet <[email protected]> on an Asus CUV266-DLS motherboard.

and I've cc'd the guilty parties. 

Bjorn: there's no way that "& 15" can be correct. There is no reason to
believe that the APIC interrupt number bears any relation to the legacy 
number or the low four bits.

Others (Mathieu Berard) have reported problems with that patch too, I
think we should revert it.

What are the numbers for Stian Jordet? It might make more sense to instead 
of comparing for ACPI/IO-APIC, just compare the irq against 16. Ie just do

	if (dev->irq > 15)
		return;

in quirk_via_irq(), since if it's not a legacy mode interrupt, we simply
don't know what to do. That "&15" is just a total guess, and makes little 
or no sense at all.

		Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux