Hi, Before this matter getting cold, I'd like to tell this: 1º This quirk_via_irq function has been created originally by Bjorn Helgaas, so maybe he can tell better what patch does. 2º This is need it on a Compaq presario 700 (laptop) that I bought on year 2002. After new ACPI get some stability and enter in kernel (2.4.22), some quirks could be deleted. And when Bjorn has being to introduction GSIs stuff, came with this patch that replace another bunch of quirks. 3º On my new desktop, one Intel(R) Pentium(R) D ual, using lscpi -n, I see that I got : cat /usr/include/linux/pci_ids.h | grep VIA | grep 3149 #define PCI_DEVICE_ID_VIA_8237_SATA 0x3149 PCI_DEVICE_ID_VIA_82C586_1 0x0571 PCI_DEVICE_ID_VIA_82C586_2 0x3038 But I think, I don't need this quirks, but with or without the quirks I still have one oops on my ethernet card, you can have more details on: http://bugme.osdl.org/show_bug.cgi?id=6419 I think my system runs better without quirks, but I am not sure and I don't have a way to prove it ! REFERENCES: http://lkml.org/lkml/2006/5/9/250 Subject Re: [PATCH] VIA quirk fixup, additional PCI IDs Dave Jones wrote: > > On Tue, May 09, 2006 at 12:59:16PM -0700, Andrew Morton wrote: > > This looks like a 2.6.17-worthy fix, but it's not clear. Help. What > > happens if 2.6.17 doesn't have this?? > > We won't run the quirk on machines that used to have it run, > so we get buggered up irq routing. > and Andrew Morton wrote: OK.. We used to have DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq); and we now have DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_via_irq); DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, quirk_via_irq); DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irq); DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_via_irq); DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq); DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq); DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq); which is rather a step backwards, because we need to keep that list updated now, and we'll fail to catch new devices. What happens if we just revert 75cf7456dd87335f574dcd53c4ae616a2ad71a11? It says Alan Cox pointed out that the VIA 'IRQ fixup' was erroneously running on my system which has no VIA southbridge (but I do have a VIA IEEE 1394 device). but so what? Did anything actually go wrong? Is it likely to go wrong in the future? Is there was a problem, is there something we can do at runtime in quirk_via_irq() to avoid the problem, rather than expanding out the fixup list in this manner? Thanks, -- Sérgio M. B.
Attachment:
smime.p7s
Description: S/MIME cryptographic signature