Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Mon, 21 Oct 2002 19:48:47 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Mon, 21 Oct 2002 19:48:47 -0400 Received: from astound-64-85-224-253.ca.astound.net ([64.85.224.253]:44558 "EHLO master.linux-ide.org") by vger.kernel.org with ESMTP id ; Mon, 21 Oct 2002 19:48:43 -0400 Date: Mon, 21 Oct 2002 16:52:11 -0700 (PDT) From: Andre Hedrick To: JunHyeok Heo cc: linux-kernel@vger.kernel.org, Michael Goertz , Michael Kiefer Subject: Re: Kernel Panic 2.4.19 with Segate 80GB HDD In-Reply-To: <016501c278dc$17f47470$135deecb@jhheo> Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 12366 Lines: 294 No "erroneously has 48bit LBA turned on" is not what is happening. There are general purpose logs which reqire 48-bit operations. A device can support 48-bit command and be less than 137GB. Also if you disable 48-bit some of the drive features will not work. Bit on and zero in words 100-103 is a Buggy SPEC! Currently an beautiful mess has been made by the committe. If device supports 48-bit is it required to report capacity in all 48-bit locations in the IDENTIFY Page? If the device is destroked to less than 137GB does it report the same in both words 60-61 and 100-103? There are worse yet to come. On Mon, 21 Oct 2002, JunHyeok Heo wrote: > > I investigated this problem. > The problem was that Segate 80GB HDD (ST380020ACE) erroneously has 48bit LBA > turned on, > but the capacity field for 48Bit LBA has 0. > So, i modified the "init_idedisk_capacity()" function to forcily use the > 28bit LBA mode > in this case. I know that the HDD less than 137GB no need to use 48bit LBA. > > If there is someone who suffers from the same symptom, > try the following patch at your own risk. ^^;;; > > --------- From Here ----------------- > diff -urN linux-2.4.19-ori/drivers/ide/ide-disk.c > linux-2.4.19/drivers/ide/ide-disk.c > --- linux-2.4.19-ori/drivers/ide/ide-disk.c Sat Aug 3 09:39:44 2002 > +++ linux-2.4.19/drivers/ide/ide-disk.c Mon Oct 21 17:09:09 2002 > @@ -928,6 +928,13 @@ > drive->select.b.lba = 0; > > if (id->cfs_enable_2 & 0x0400) { > + if (id->lba_capacity_2 == (long long) 0) { > + id->cfs_enable_2 &= ~0x0400; > + printk("%s: not suitable for 48bit LBA, forcily 28bit LBA is > used\n",drive->name); > + } > + } > + > + if (id->cfs_enable_2 & 0x0400) { > capacity_2 = id->lba_capacity_2; > drive->head = drive->bios_head = 255; > drive->sect = drive->bios_sect = 63; > ----- Original Message ----- > From: "JunHyeok Heo" > To: > Sent: Friday, October 18, 2002 10:35 AM > Subject: Kernel Panic 2.4.19 with Segate 80GB HDD > > > > > > I used kernel 2.4.19 with Segate 80GB HDD (ST380020ACE). > > The kernel could not recognize the number of sectors correctly, and then > > result in kernel panic. > > I tried kernel 2.4.18 with the same HDD, there is no problem. > > > > Is this a bug in the ide device driver ? or is there any compatible HDD > > list for 2.4.19 kernel ? > > > > The cpu is PentiumIII 700Mhz cpu and > > The chipset of motherboard is Intel BX. > > The IDE controller is INTEL82801BA_9 > > > > In case of 2.4.19 kernel, the booting message as follows... > > -- > > Linux version 2.4.19 (root@i74) (gcc version 2.95.4 (Debian prerelease)) > #2 > > Wed > > Oct 16 21:27:55 KST 2002 > > BIOS-provided physical RAM map: > > BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) > > BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) > > BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) > > BIOS-e820: 0000000000100000 - 000000000bfeb000 (usable) > > BIOS-e820: 000000000bfeb000 - 000000000bfef000 (ACPI data) > > BIOS-e820: 000000000bfef000 - 000000000bfff000 (reserved) > > BIOS-e820: 000000000bfff000 - 000000000c000000 (ACPI NVS) > > BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved) > > 191MB LOWMEM available. > > On node 0 totalpages: 49131 > > zone(0): 4096 pages. > > zone(1): 45035 pages. > > zone(2): 0 pages. > > Kernel command line: BOOT_IMAGE=host19 ro root=301 > > BOOT_FILE=/boot/vmlinuz-2.4.1 > > 9 console=ttyS0,9600 console=ttyS0,9600 > > Initializing CPU#0 > > Detected 706.972 MHz processor. > > Console: colour VGA+ 80x25 > > Calibrating delay loop... 1412.30 BogoMIPS > > Memory: 192408k/196524k available (1069k kernel code, 3728k reserved, 260k > > data, > > 60k init, 0k highmem) > > Dentry cache hash table entries: 32768 (order: 6, 262144 bytes) > > Inode cache hash table entries: 16384 (order: 5, 131072 bytes) > > Mount-cache hash table entries: 4096 (order: 3, 32768 bytes) > > Buffer-cache hash table entries: 8192 (order: 3, 32768 bytes) > > Page-cache hash table entries: 65536 (order: 6, 262144 bytes) > > CPU: L1 I cache: 16K, L1 D cache: 16K > > CPU: L2 cache: 256K > > Intel machine check architecture supported. > > Intel machine check reporting enabled on CPU#0. > > CPU: Intel Pentium III (Coppermine) stepping 03 > > Enabling fast FPU save and restore... done. > > Enabling unmasked SIMD FPU exception support... done. > > Checking 'hlt' instruction... OK. > > POSIX conformance testing by UNIFIX > > PCI: PCI BIOS revision 2.10 entry at 0xf0d90, last bus=2 > > PCI: Using configuration type 1 > > PCI: Probing PCI hardware > > Unknown bridge resource 0: assuming transparent > > PCI: Using IRQ router PIIX [8086/2440] at 00:1f.0 > > Linux NET4.0 for Linux 2.4 > > Based upon Swansea University Computer Society NET3.039 > > Initializing RT netlink socket > > Starting kswapd > > Installing knfsd (copyright (C) 1996 okir@monad.swb.de). > > pty: 256 Unix98 ptys configured > > Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ > > SERIAL_PCI en > > abled > > ttyS00 at 0x03f8 (irq = 4) is a 16550A > > ttyS01 at 0x02f8 (irq = 3) is a 16550A > > Real Time Clock Driver v1.10e > > Uniform Multi-Platform E-IDE driver Revision: 6.31 > > ide: Assuming 33MHz system bus speed for PIO modes; override with > idebus=xx > > ICH2: IDE controller on PCI bus 00 dev f9 > > ICH2: chipset revision 1 > > ICH2: not 100% native mode: will probe irqs later > > ide0: BM-DMA at 0xb800-0xb807, BIOS settings: hda:DMA, hdb:pio > > ide1: BM-DMA at 0xb808-0xb80f, BIOS settings: hdc:pio, hdd:pio > > hda: ST380020ACE, ATA DISK drive > > ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 > > hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error } > > hda: task_no_data_intr: error=0x04 { DriveStatusError } > > hda: setmax_ext LBA 1, native 0 > > hda: 0 sectors (0 MB) w/2048KiB Cache, CHS=0/255/63, UDMA(33) > > PPP generic driver version 2.4.2 > > NET4: Linux TCP/IP 1.0 for NET4.0 > > IP Protocols: ICMP, UDP, TCP > > IP: routing cache hash table of 1024 buckets, 8Kbytes > > TCP: Hash tables configured (established 16384 bind 16384) > > NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. > > hda1: bad access: block=2, count=2 > > end_request: I/O error, dev 03:01 (hda), sector 2 > > EXT2-fs: unable to read superblock > > hda1: bad access: block=0, count=1 > > end_request: I/O error, dev 03:01 (hda), sector 0 > > FAT: unable to read boot sector > > hda1: bad access: block=128, count=1 > > end_request: I/O error, dev 03:01 (hda), sector 128 > > read_super_block: bread failed (dev 03:01, block 128, size 512) > > hda1: bad access: block=16, count=1 > > end_request: I/O error, dev 03:01 (hda), sector 16 > > read_super_block: bread failed (dev 03:01, block 16, size 512) > > Kernel panic: VFS: Unable to mount root fs on 03:01 > > > > -- > > > > In case of 2.4.18 kernel, the booting message as follows... > > > > Linux version 2.4.18 (root@i076) (gcc version 2.95.4 (Debian prerelease)) > #5 > > Fri Mar 22 19:21:49 KST 2002 > > BIOS-provided physical RAM map: > > BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) > > BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) > > BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) > > BIOS-e820: 0000000000100000 - 000000000bfeb000 (usable) > > BIOS-e820: 000000000bfeb000 - 000000000bfef000 (ACPI data) > > BIOS-e820: 000000000bfef000 - 000000000bfff000 (reserved) > > BIOS-e820: 000000000bfff000 - 000000000c000000 (ACPI NVS) > > BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved) > > On node 0 totalpages: 49131 > > zone(0): 4096 pages. > > zone(1): 45035 pages. > > zone(2): 0 pages. > > Local APIC disabled by BIOS -- reenabling. > > Found and enabled local APIC! > > Kernel command line: BOOT_IMAGE=host18 ro root=301 > > BOOT_FILE=/boot/vmlinuz-2.4.18 > > Initializing CPU#0 > > Detected 706.973 MHz processor. > > Console: colour VGA+ 80x25 > > Calibrating delay loop... 1412.30 BogoMIPS > > Memory: 191400k/196524k available (1064k kernel code, 4736k reserved, 287k > > data, 76k init, 0k highmem) > > Dentry-cache hash table entries: 32768 (order: 6, 262144 bytes) > > Inode-cache hash table entries: 16384 (order: 5, 131072 bytes) > > Mount-cache hash table entries: 4096 (order: 3, 32768 bytes) > > Buffer-cache hash table entries: 8192 (order: 3, 32768 bytes) > > Page-cache hash table entries: 65536 (order: 6, 262144 bytes) > > CPU: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0 > > CPU: L1 I cache: 16K, L1 D cache: 16K > > CPU: L2 cache: 256K > > CPU: After vendor init, caps: 0383fbff 00000000 00000000 00000000 > > Intel machine check architecture supported. > > Intel machine check reporting enabled on CPU#0. > > CPU: After generic, caps: 0383fbff 00000000 00000000 00000000 > > CPU: Common caps: 0383fbff 00000000 00000000 00000000 > > CPU: Intel Pentium III (Coppermine) stepping 03 > > Enabling fast FPU save and restore... done. > > Enabling unmasked SIMD FPU exception support... done. > > Checking 'hlt' instruction... OK. > > POSIX conformance testing by UNIFIX > > enabled ExtINT on CPU#0 > > ESR value before enabling vector: 00000000 > > ESR value after enabling vector: 00000000 > > Using local APIC timer interrupts. > > calibrating APIC timer ... > > ..... CPU clock speed is 706.9670 MHz. > > ..... host bus clock speed is 100.9952 MHz. > > cpu: 0, clocks: 1009952, slice: 504976 > > CPU0 > > mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au) > > mtrr: detected mtrr type: Intel > > PCI: PCI BIOS revision 2.10 entry at 0xf0d90, last bus=2 > > PCI: Using configuration type 1 > > PCI: Probing PCI hardware > > Unknown bridge resource 0: assuming transparent > > PCI: Using IRQ router PIIX [8086/2440] at 00:1f.0 > > Linux NET4.0 for Linux 2.4 > > Based upon Swansea University Computer Society NET3.039 > > Initializing RT netlink socket > > Starting kswapd > > pty: 256 Unix98 ptys configured > > Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ > > SERIAL_PCI enabled > > ttyS00 at 0x03f8 (irq = 4) is a 16550A > > ttyS01 at 0x02f8 (irq = 3) is a 16550A > > request_module[parport_lowlevel]: Root fs not mounted > > lp: driver loaded but no devices found > > ppdev: user-space parallel port driver > > block: 128 slots per queue, batch=32 > > Uniform Multi-Platform E-IDE driver Revision: 6.31 > > ide: Assuming 33MHz system bus speed for PIO modes; override with > idebus=xx > > PIIX4: IDE controller on PCI bus 00 dev f9 > > PIIX4: chipset revision 1 > > PIIX4: not 100% native mode: will probe irqs later > > ide0: BM-DMA at 0xb800-0xb807, BIOS settings: hda:DMA, hdb:pio > > ide1: BM-DMA at 0xb808-0xb80f, BIOS settings: hdc:pio, hdd:pio > > hda: ST380020ACE, ATA DISK drive > > ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 > > hda: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=9729/255/63, > UDMA(33) > > Partition check: > > hda: hda1 > > PPP generic driver version 2.4.1 > > NET4: Linux TCP/IP 1.0 for NET4.0 > > IP Protocols: ICMP, UDP, TCP > > IP: routing cache hash table of 1024 buckets, 8Kbytes > > TCP: Hash tables configured (established 16384 bind 16384) > > NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. > > FAT: bogus logical sector size 0 > > reiserfs: checking transaction log (device 03:01) ... > > Using r5 hash to sort names > > ReiserFS version 3.6.25 > > VFS: Mounted root (reiserfs filesystem) readonly. > > Freeing unused kernel memory: 76k freed > > 8139too Fast Ethernet driver 0.9.24 > > PCI: Found IRQ 10 for device 02:0e.0 > > eth0: RealTek RTL8139 Fast Ethernet at 0xcc8b5000, 00:50:fc:3b:2a:76, IRQ > 10 > > eth0: Identified 8139 chip type 'RTL-8139C' > > eth0: Setting half-duplex based on auto-negotiated partner ability 0000. > > > > - > 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/ > Andre Hedrick LAD Storage Consulting Group - 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/