• Bertram Felgenhauer's avatar
    x86/PCI: add workaround for bug in ASUS A7V600 BIOS (rev 1005) · 9f67fd5d
    Bertram Felgenhauer authored
    This BIOS claims the VIA 8237 south bridge to be compatible with VIA 586,
    which it is not.
    
    Without this patch, I get the following warning while booting,
    among others,
    
    | PCI: Using IRQ router VIA [1106/3227] at 0000:00:11.0
    | ------------[ cut here ]------------
    | WARNING: at arch/x86/pci/irq.c:265 pirq_via586_get+0x4a/0x60()
    | Modules linked in:
    | Pid: 1, comm: swapper Not tainted 2.6.26-rc4-00015-g1ec7d99c #1
    |  [<c0119fd4>] warn_on_slowpath+0x54/0x70
    |  [<c02246e0>] ? vt_console_print+0x210/0x2b0
    |  [<c02244d0>] ? vt_console_print+0x0/0x2b0
    |  [<c011a413>] ? __call_console_drivers+0x43/0x60
    |  [<c011a482>] ? _call_console_drivers+0x52/0x80
    |  [<c011aa89>] ? release_console_sem+0x1c9/0x200
    |  [<c0291d21>] ? raw_pci_read+0x41/0x70
    |  [<c0291e8f>] ? pci_read+0x2f/0x40
    |  [<c029151a>] pirq_via586_get+0x4a/0x60
    |  [<c02914d0>] ? pirq_via586_get+0x0/0x60
    |  [<c029178d>] pcibios_lookup_irq+0x15d/0x430
    |  [<c03b895a>] pcibios_irq_init+0x17a/0x3e0
    |  [<c03a66f0>] ? kernel_init+0x0/0x250
    |  [<c03a6763>] kernel_init+0x73/0x250
    |  [<c03b87e0>] ? pcibios_irq_init+0x0/0x3e0
    |  [<c0114d00>] ? schedule_tail+0x10/0x40
    |  [<c0102dee>] ? ret_from_fork+0x6/0x1c
    |  [<c03a66f0>] ? kernel_init+0x0/0x250
    |  [<c03a66f0>] ? kernel_init+0x0/0x250
    |  [<c010324b>] kernel_thread_helper+0x7/0x1c
    |  =======================
    | ---[ end trace 4eaa2a86a8e2da22 ]---
    
    and IRQ trouble later,
    
    | irq 10: nobody cared (try booting with the "irqpoll" option)
    
    Now that's an VIA 8237 chip, so pirq_via586_get shouldn't be called
    at all; adding this workaround to via_router_probe() fixes the
    problem for me.
    
    Amazingly I have a 2.6.23.8 kernel that somehow works fine ... I'll
    never understand why.
    Signed-off-by: default avatarBertram Felgenhauer <int-e@gmx.de>
    Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
    Acked-by: default avatarAlan Cox <alan@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    9f67fd5d
irq.c 32.8 KB