Linux 2.1.32: problems with genhd.c

Trevor Johnson (trevor@jpj.net)
Sat, 5 Apr 1997 23:17:55 -0801 (PST)


I had some trouble getting Linux 2.1.32 to boot. It would hang after
printing the messages:

hda: ST51270A, ATA DISK drive
hdc: QUANTUM FIREBALL1280A, ATA DISK drive

but before the usual:

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: ST51270A, 1223MB w/128kB Cache, LBA, CHS=621/64/63
hdc: QUANTUM FIREBALL1280A, 1222MB w/83kB Cache, LBA, CHS=2484/16/63

When I reversed the changes to genhd.c made between 2.1.31 and 2.1.32, the
problem went away. There were no warnings during compilation of genhd.c
either time. I have two EIDE hard drives, one on each of the two built-in
interfaces running off the UMC 8669F chip on my ASUS PVI-486SP3
motherboard.

~# fdisk -l

Disk /dev/hda: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 2064384 bytes, blocks of 1024 bytes, counting from 0

Device Boot Start End #cyls #blocks Id System
/dev/hda1 0+ 253 254- 512063+ 6 DOS 16-bit FAT >=32M
/dev/hda2 254 620 367 739872 83 Linux native
/dev/hda3 0 - 0 0 0 Empty
/dev/hda4 0 - 0 0 0 Empty

Disk /dev/hdc: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 2064384 bytes, blocks of 1024 bytes, counting from 0

Device Boot Start End #cyls #blocks Id System
/dev/hdc1 0+ 9 10- 20159+ 83 Linux native
/dev/hdc2 10 29 20 40320 83 Linux native
/dev/hdc3 30 279 250 504000 83 Linux native
/dev/hdc4 280 620 341 687456 83 Linux native

~# hdparm -i /dev/hda /dev/hdc

/dev/hda:

Model=ST51270A, FwRev=03.03.00, SerialNo=EBK30397
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=2485/16/63, TrkSize=65535, SectSize=951, ECCbytes=22
BuffType=3(DualPortCache), BuffSize=128kB, MaxMultSect=32, MultSect=32
DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=0(slow)
CurCHS=2485/16/63, CurSects=2504880, LBA=yes, LBAsects=2504880
tDMA={min:120,rec:120}, DMA modes: sword0 sword1 sword2 *mword0 mword1
mword2
IORDY=yes, tPIO={min:180,w/IORDY:120}, PIO modes: mode3 mode4

/dev/hdc:

Model=QUANTUM FIREBALL1280A, FwRev=A63.0E00, SerialNo=82260824
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=2484/16/63, TrkSize=32256, SectSize=512, ECCbytes=4
BuffType=3(DualPortCache), BuffSize=83kB, MaxMultSect=8, MultSect=off
DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
CurCHS=2484/16/63, CurSects=2503872, LBA=yes, LBAsects=2503872
tDMA={min:120,rec:120}, DMA modes: sword0 sword1 sword2 mword0 mword1
*mword2
IORDY=on/off, tPIO={min:333,w/IORDY:120}, PIO modes: mode3 mode4

/usr/src/linux# grep '=[y|m]' .config

CONFIG_EXPERIMENTAL=y
CONFIG_MODULES=y
CONFIG_KERNELD=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_OPTIMIZE=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_JAVA=m
CONFIG_M486=y
CONFIG_VIDEO_SELECT=y
CONFIG_BLK_DEV_FD=m
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_LOOP=m
CONFIG_INET=y
CONFIG_NET_IPIP=m
CONFIG_PATH_MTU_DISCOVERY=y
CONFIG_IP_NOSR=y
CONFIG_SCSI=m
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_AHA1542=m
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_ISA=y
CONFIG_EEXPRESS=m
CONFIG_NE2000=m
CONFIG_PPP=y
CONFIG_EXT2_FS=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=y
CONFIG_UMSDOS_FS=m
CONFIG_PROC_FS=y
CONFIG_NFS_FS=m
CONFIG_SMB_FS=m
CONFIG_SMB_WIN95=y
CONFIG_ISO9660_FS=m
CONFIG_AUTOFS_FS=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_PRINTER=m
CONFIG_SOUND=m
CONFIG_LOWLEVEL_SOUND=y
CONFIG_AWE32_SYNTH=y
___
Trevor Johnson <trevor@jpj.net>