lkml.org 
[lkml]   [2005]   [Sep]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: bogus VIA IRQ fixup in drivers/pci/quirks.c


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 <liste@jordet.nu> 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 majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2009-11-18 23:46    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site