Re: PROBLEM: Oops.. NULL pointer reference in 2.4.20-ac1

From: OGAWA Hirofumi (hirofumi@mail.parknet.co.jp)
Date: Sun Dec 08 2002 - 13:43:07 EST


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/



This archive was generated by hypermail 2b29 : Sun Dec 15 2002 - 22:00:13 EST