This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 25365 - IDE timeout after a warm reboot.
IDE timeout after a warm reboot.
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
7.1
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Arjan van de Ven
Brock Organ
Florence Gold
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-01-30 22:55 EST by Sam Varshavchik
Modified: 2007-04-18 12:30 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-03-05 07:48:45 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Sam Varshavchik 2001-01-30 22:55:53 EST
Ok, I went back to Fisher's shipping kernel, and I'm still getting timeouts
after a warm reboot.

Problem: kernel boots and runs fine after a cold boot.  After a warm boot,
the kernel detects the chipset, then hangs during the partition check,
eventually reporting a timeout on hda.

No problems experienced in Florence.  This is new to beta3.

Chipset particulars:

00:00.0 Host bridge: OPTi Inc. 82C557 [Viper-M] (rev 14) 
Flags: bus master, medium devsel, latency 0 

00:01.0 ISA bridge: OPTi Inc. 82C558 [Viper-M ISA+IDE] (rev 02) 
Flags: bus master, medium devsel, latency 0 

00:14.0 IDE interface: OPTi Inc. 82C621 (rev 12) (prog-if 80 [Master]) 
Flags: bus master, medium devsel, latency 0 
I/O ports at 1000 [size=16] 

00:00.0 Class 0600: 1045:c557 (rev 14) 
00:01.0 Class 0601: 1045:c558 (rev 02) 
00:14.0 Class 0101: 1045:c621 (rev 12) 

Additional kernel information (from a succesful cold boot):

Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
OPTI621: IDE controller on PCI bus 00 dev a0
OPTI621: chipset revision 18
OPTI621: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x1000-0x1007, BIOS settings: hda:pio, hdb:pio
hda: TOSHIBA MK3003MAN, ATA DISK drive
hdb: CD-316E, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: 6015744 sectors (3080 MB) w/128KiB Cache, CHS=746/128/63

(The next message is the partition check, which is where things hang on a
warm boot).
Comment 1 Glen Foster 2001-01-31 16:49:03 EST
This defect is considered MUST-FIX for Florence Gold release
Comment 2 Sam Varshavchik 2001-02-01 22:25:40 EST
The interesting thing is that the exact error message is "hda timeout waiting
for DMA".  But, dma is off by default:

/dev/hda:
 multcount    =  0 (off)
 I/O support  =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 746/128/63, sectors = 6015744, start = 0
Comment 3 Sam Varshavchik 2001-02-19 14:17:37 EST
This problem still exists in Wolverine, kernel 2.4.1-0.1.9, however after about
two minutes the kernel manages to recover and continue booting.

Exact errors at partition check:


Partition check:
 hda:hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
spurious 8259A interrupt: IRQ7.
hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hda: DMA disabled
ide0: reset: success
 hda1 hda2 < hda5 hda6 hda7 hda8 >


Comment 4 Michael K. Johnson 2001-02-21 11:59:02 EST
Well, better, but having an ide0=nodma option would avoid the 2-minute
wait.
Comment 5 Sam Varshavchik 2001-02-21 12:10:24 EST
I do not need any options when cold-booting.  Only warm reboots break.

Comment 6 Arjan van de Ven 2001-02-23 08:10:17 EST
Do you have DMA on the first boot after a cold boot ?
Comment 7 Sam Varshavchik 2001-02-23 08:20:26 EST
Apparently not:

OPTI621: IDE controller on PCI bus 00 dev a0
OPTI621: chipset revision 18
OPTI621: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0x1000-0x1007, BIOS settings: hda:pio, hdb:pio

/dev/hda:
 multcount    =  0 (off)
 I/O support  =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 746/128/63, sectors = 6015744, start = 0
Comment 8 Arjan van de Ven 2001-02-23 08:24:37 EST
The "ideX=nodma" would not harm the normal case.
It seems the IDE code is misdetecting the chipset somehow the
2nd boot.
Comment 9 Sam Varshavchik 2001-02-23 08:34:40 EST
It's still hanging on warm reboot even with ide0=nodma (!)

# cat /proc/cmdline
auto BOOT_IMAGE=linux ro root=307 BOOT_FILE=/boot/vmlinuz-2.4.1-0.1.9 ide0=nodma


# dmesg

...

hda: TOSHIBA MK3003MAN, ATA DISK drive
hdb: CD-316E, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: 6015744 sectors (3080 MB) w/128KiB Cache, CHS=746/128/63, DMA
Partition check:
 hda:hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hda: timeout waiting for DMA

...

Comment 10 Arjan van de Ven 2001-02-23 10:09:29 EST
* Wed Feb 21 2001 Arjan van de Ven <arjanv@redhat.com>
- Added "ideX=nodma" commandline option

So if your kernel is older than Feb 21st, the kernel doesn't know of ide0=nodma
Comment 11 Michael K. Johnson 2001-02-28 21:40:55 EST
In terms of version numbers, the nodma option is only available in
versions 2.4.1-0.1.14 and higher.  I 2.4.1-0.1.14 is now available
in rawhide.
Comment 12 Sam Varshavchik 2001-02-28 22:31:50 EST
It's still trying to activate DMA:

Partition check:
 hda:hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
spurious 8259A interrupt: IRQ7.
hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hda: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hda: irq timeout: status=0x58 { DriveReady SeekComplete DataRequest }
hda: DMA disabled
ide0: reset: success
 hda1 hda2 < hda5 hda6 hda7 hda8 >


[root@localhost /root]# uname -a
Linux localhost.localdomain 2.4.1-0.1.14 #1 Thu Feb 22 22:26:01 EST 2001 i586
unknown
[root@localhost /root]# cat /proc/cmdline
auto BOOT_IMAGE=linux ro root=307 BOOT_FILE=/boot/vmlinuz-2.4.1-0.1.14 ide0=nodma


Comment 13 Arjan van de Ven 2001-03-02 04:03:03 EST
ide0=nodma seems to not work. investigating
Comment 14 Arjan van de Ven 2001-03-05 07:48:35 EST
Latest kernels should have an "ide=nodma" option. Per-interface onces
were (hardly) doable it turned out.
Comment 15 Sam Varshavchik 2001-03-08 18:58:53 EST
Verified: "ide=nodma" works for me with 2.4.2-0.1.22


Note You need to log in before you can comment on or make changes to this bug.