lkml.org 
[lkml]   [2002]   [Dec]   [8]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: PROBLEM: Oops.. NULL pointer reference in 2.4.20-ac1
FromOGAWA Hirofumi <>
DateMon, 09 Dec 2002 03:43:07 +0900
Alan Cox <alan@lxorguk.ukuu.org.uk> writes:

> On Sun, 2002-12-08 at 12:35, Simon Ward wrote:
> > The problem appears to be after (or while) the IDE interfaces are
> > probed. The IDE chipset is (I think) ALI M1543. It's part of the ALI
> > Aladdin V chipset on an Asus P5A-B motherboard anyway, if that means
> > anything to you.
> 
> Looks like your system returned a totally bogus IRQ for the interface.
> Are you enabling ACPI by any chance ?

I'm sorry, my before info of ACPI was wrong. It's not ACPI problem. It
may be problem of ali15x3.c.

Probably his M5229 has 0xff on INTERRUPT_LINE after boot immediately.

Simon, could you send the outputs of `lspci -vx'? And the following
patch fixs this problem?

 drivers/ide/pci/alim15x3.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
--- linux-2.4.20-ac1/drivers/ide/pci/alim15x3.c~alim15x3-fix	2002-12-09 03:34:33.000000000 +0900
+++ linux-2.4.20-ac1-hirofumi/drivers/ide/pci/alim15x3.c	2002-12-09 03:35:02.000000000 +0900
@@ -779,8 +779,9 @@ static void __init init_hwif_common_ali1
 static void __init init_hwif_ali15x3 (ide_hwif_t *hwif)
 {
 	u8 ideic, inmir;
-	u8 irq_routing_table[] = { -1,  9, 3, 10, 4,  5, 7,  6,
+	s8 irq_routing_table[] = { -1,  9, 3, 10, 4,  5, 7,  6,
 				      1, 11, 0, 12, 0, 14, 0, 15 };
+	int irq = 0;
 
 	hwif->irq = hwif->channel ? 15 : 14;
 
@@ -801,15 +802,17 @@ static void __init init_hwif_ali15x3 (id
 			 */
 			pci_read_config_byte(isa_dev, 0x44, &inmir);
 			inmir = inmir & 0x0f;
-			hwif->irq = irq_routing_table[inmir];
+			irq = irq_routing_table[inmir];
 		} else if (hwif->channel && !(ideic & 0x01)) {
 			/*
 			 * get SIRQ2 routing table
 			 */
 			pci_read_config_byte(isa_dev, 0x75, &inmir);
 			inmir = inmir & 0x0f;
-			hwif->irq = irq_routing_table[inmir];
+			irq = irq_routing_table[inmir];
 		}
+		if (irq >= 0)
+			hwif->irq = irq;
 	}
 
 	init_hwif_common_ali15x3(hwif);
_
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
-
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: 2005-03-22 12:31    [from the cache]
©2003-2008