public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: Add workaround for bug in ASUS A7V600 BIOS (rev 1005)
@ 2008-05-30  1:20 Bertram Felgenhauer
  2008-05-30  9:36 ` Alan Cox
  2008-05-31 15:58 ` Ingo Molnar
  0 siblings, 2 replies; 6+ messages in thread
From: Bertram Felgenhauer @ 2008-05-30  1:20 UTC (permalink / raw)
  To: linux-kernel

This BIOS claims the VIA 8237 south bridge to be compatible with VIA 586,
which it is not.

Signed-off-by: Bertram Felgenhauer <int-e@gmx.de>
---
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-g1ec7d99 #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.

The patch is against Linus' tree.

Please CC me in replies.

Thanks,

Bertram

 arch/x86/pci/irq.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c
index 0908fca..ca8df9c 100644
--- a/arch/x86/pci/irq.c
+++ b/arch/x86/pci/irq.c
@@ -621,6 +621,13 @@ static __init int via_router_probe(struct irq_router *r,
 			 */
 			device = PCI_DEVICE_ID_VIA_8235;
 			break;
+		case PCI_DEVICE_ID_VIA_8237:
+			/**
+			 * Asus a7v600 bios wrongly reports 8237
+			 * as 586-compatible
+			 */
+			device = PCI_DEVICE_ID_VIA_8237;
+			break;
 		}
 	}
 
-- 
1.5.3


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] x86: Add workaround for bug in ASUS A7V600 BIOS (rev 1005)
  2008-05-30  1:20 [PATCH] x86: Add workaround for bug in ASUS A7V600 BIOS (rev 1005) Bertram Felgenhauer
@ 2008-05-30  9:36 ` Alan Cox
  2008-05-30 23:18   ` Bertram Felgenhauer
  2008-06-02  9:30   ` Ingo Molnar
  2008-05-31 15:58 ` Ingo Molnar
  1 sibling, 2 replies; 6+ messages in thread
From: Alan Cox @ 2008-05-30  9:36 UTC (permalink / raw)
  To: Bertram Felgenhauer; +Cc: linux-kernel

On Fri, 30 May 2008 03:20:05 +0200
Bertram Felgenhauer <int-e@gmx.de> wrote:

> This BIOS claims the VIA 8237 south bridge to be compatible with VIA 586,
> which it is not.
> 
> Signed-off-by: Bertram Felgenhauer <int-e@gmx.de>

Looks fine to me

Acked-by: Alan Cox <alan@redhat.com>

>
> Amazingly I have a 2.6.23.8 kernel that somehow works fine ... I'll
> never understand why.

Probably because it has ACPI enabled and is picking ACPI IRQ routing in
preference ?

Alan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] x86: Add workaround for bug in ASUS A7V600 BIOS (rev 1005)
  2008-05-30  9:36 ` Alan Cox
@ 2008-05-30 23:18   ` Bertram Felgenhauer
  2008-06-02  9:30   ` Ingo Molnar
  1 sibling, 0 replies; 6+ messages in thread
From: Bertram Felgenhauer @ 2008-05-30 23:18 UTC (permalink / raw)
  To: Alan Cox; +Cc: Bertram Felgenhauer, linux-kernel

Alan Cox wrote:
> On Fri, 30 May 2008 03:20:05 +0200
> Bertram Felgenhauer <int-e@gmx.de> wrote:
> > Amazingly I have a 2.6.23.8 kernel that somehow works fine ... I'll
> > never understand why.
> 
> Probably because it has ACPI enabled and is picking ACPI IRQ routing in
> preference ?

No.

The "only" difference between the working 2.6.23.8 kernel and the
non-working one is a switch from gcc 3.4.6 to 4.1.2. I've collected
some information about this issue, comparing the 'working' 2.6.23.8
kernel with a newly compiled, patched one. (The unpatched one compiled
with 4.1.2 fails to boot.) So if anybody is interested, have a look at

    http://int-e.home.tlink.de/linux/irq/

But it's probably not worthwhile to spend a lot of time on this.

Bertram

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] x86: Add workaround for bug in ASUS A7V600 BIOS (rev 1005)
  2008-05-30  1:20 [PATCH] x86: Add workaround for bug in ASUS A7V600 BIOS (rev 1005) Bertram Felgenhauer
  2008-05-30  9:36 ` Alan Cox
@ 2008-05-31 15:58 ` Ingo Molnar
  2008-06-02 16:34   ` Jesse Barnes
  1 sibling, 1 reply; 6+ messages in thread
From: Ingo Molnar @ 2008-05-31 15:58 UTC (permalink / raw)
  To: Bertram Felgenhauer; +Cc: linux-kernel, Jesse Barnes, Andrew Morton


* Bertram Felgenhauer <int-e@gmx.de> wrote:

> This BIOS claims the VIA 8237 south bridge to be compatible with VIA 586,
> which it is not.
> 
> Signed-off-by: Bertram Felgenhauer <int-e@gmx.de>

Cc:s added.

	Ingo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] x86: Add workaround for bug in ASUS A7V600 BIOS (rev 1005)
  2008-05-30  9:36 ` Alan Cox
  2008-05-30 23:18   ` Bertram Felgenhauer
@ 2008-06-02  9:30   ` Ingo Molnar
  1 sibling, 0 replies; 6+ messages in thread
From: Ingo Molnar @ 2008-06-02  9:30 UTC (permalink / raw)
  To: Alan Cox; +Cc: Bertram Felgenhauer, linux-kernel, the arch/x86 maintainers


* Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:

> On Fri, 30 May 2008 03:20:05 +0200
> Bertram Felgenhauer <int-e@gmx.de> wrote:
> 
> > This BIOS claims the VIA 8237 south bridge to be compatible with VIA 586,
> > which it is not.
> > 
> > Signed-off-by: Bertram Felgenhauer <int-e@gmx.de>
> 
> Looks fine to me
> 
> Acked-by: Alan Cox <alan@redhat.com>

applied to tip/pci-for-jesse - thanks.

	Ingo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] x86: Add workaround for bug in ASUS A7V600 BIOS (rev 1005)
  2008-05-31 15:58 ` Ingo Molnar
@ 2008-06-02 16:34   ` Jesse Barnes
  0 siblings, 0 replies; 6+ messages in thread
From: Jesse Barnes @ 2008-06-02 16:34 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Bertram Felgenhauer, linux-kernel, Andrew Morton

On Saturday, May 31, 2008 8:58 am Ingo Molnar wrote:
> * Bertram Felgenhauer <int-e@gmx.de> wrote:
> > This BIOS claims the VIA 8237 south bridge to be compatible with VIA 586,
> > which it is not.
> >
> > Signed-off-by: Bertram Felgenhauer <int-e@gmx.de>
>
> Cc:s added.

I didn't see the original report, pulling down the for-jesse stuff to look 
through it now though.

Jesse

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-06-02 16:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-30  1:20 [PATCH] x86: Add workaround for bug in ASUS A7V600 BIOS (rev 1005) Bertram Felgenhauer
2008-05-30  9:36 ` Alan Cox
2008-05-30 23:18   ` Bertram Felgenhauer
2008-06-02  9:30   ` Ingo Molnar
2008-05-31 15:58 ` Ingo Molnar
2008-06-02 16:34   ` Jesse Barnes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox