2.3.18: phantom hdb, oops in IDE init, boot hang

Peter Samuelson (psamuels@sampo.creighton.edu)
Mon, 13 Sep 1999 05:28:41 -0500 (CDT)


I was running fine with a single IDE drive, hda. When I installed an
old drive as hdc and a CDROM as hdd, 2.3.18 hangs during boot with the
following NULL pointer dereference OOPS, copied down by hand.
2.3.5+devfs is running fine.

Note also that both 2.3.5+devfs and 2.3.18 report a "non-IDE drive" in
hdb, which is bogus. I do not have an hdb. But 2.3.5 recovers from
this while 2.3.18 apparently doesn't. (Could this cause the oops?)

ksymoops 0.7c on i586 2.3.5. Options used
-V (specified)
-K (specified)
-L (specified)
-O (specified)
-m /boot/System.map-2.3.18 (specified)

*pde = 00000000
Oops: 0000
CPU: 0
EFLAGS: 00010292
eax: 00000004 ebx: 00000002 ecx: 00000cf8 edx: 00000000
esi: c033f400 edi: c01fbca0 ebp: 00000000 esp: c0305f28
ds: 0018 es: 0018 ss: 0018
Stack: c01c8080 000000a0 00000001 00000004 00000004 00000020 4037ec00 00000000
00000000 a30700b0 c017ce48 c01fbca0 c01fbca0 c01729e1 00000004 c01fbca0
c01fbca0 00000001 c01c8080 c017f261 c01fbca0 c01c8080 00000001 c01c6120
Call Trace: [<c017ce48>] [<c01729e1>] [<c017f261>] [<c0106173>] [<c010789c>]
Code: 66 83 ba b0 00 00 00 00 74 16 85 ed 74 12 0f bf 44 24 2a 85
Using defaults from ksymoops -t elf32-i386 -a i386

Trace; c017ce48 <piix_dmaproc+14/28>
Trace; c01729e1 <ide_register_subdriver+71/b4>
Trace; c017f261 <idedisk_init+15/a4>
Trace; c0106173 <init+7/104>
Trace; c010789c <kernel_thread+28/38>
Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
0: 66 83 ba b0 00 00 00 cmpw $0x0,0xb0(%edx)
Code; 00000007 Before first symbol
7: 00
Code; 00000008 Before first symbol
8: 74 16 je 20 <_EIP+0x20> 00000020 Before first symbol
Code; 0000000a Before first symbol
a: 85 ed testl %ebp,%ebp
Code; 0000000c Before first symbol
c: 74 12 je 20 <_EIP+0x20> 00000020 Before first symbol
Code; 0000000e Before first symbol
e: 0f bf 44 24 2a movswl 0x2a(%esp,1),%eax
Code; 00000013 Before first symbol
13: 85 00 testl %eax,(%eax)

The 2.3.5 IDE driver boots with:

Uniform Multi-Platform E-IDE driver Revision: 6.19
PIIX3: IDE controller on PCI bus 00 dev 39
PIIX3: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio
hda: FUJITSU M1636TAU, ATA DISK drive
hdb: non-IDE drive, CHS=661/16/63
hdc: WDC AC2340H, ATA DISK drive
hdd: ATAPI CD-ROM DRIVE 32X MAXIMUM, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: FUJITSU M1636TAU, 1226MB w/128kB Cache, CHS=622/64/63, DMA
hdc: WDC AC2340H, 325MB w/128kB Cache, CHS=1010/12/55

2.3.18 says the same except "Revision: 6.20", and it oopses before
hitting the last line.

Snippet of 2.3.18 .config:

# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
CONFIG_BLK_DEV_IDECD=m
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
# IDEDMA_NEW_DRIVE_LISTINGS is not set
IDEDMA_PCI_EXPERIMENTAL=y
# CONFIG_BLK_DEV_OFFBOARD is not set
# CONFIG_BLK_DEV_AEC6210 is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_CMD646 is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
CONFIG_BLK_DEV_PIIX=y
CONFIG_BLK_DEV_PIIX_TUNING=y
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82C586 is not set
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y
# CONFIG_IDE_CHIPSETS is not set
# CONFIG_BLK_CPQ_DA is not set

-- 
Peter Samuelson
<sampo.creighton.edu!psamuels>

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/