2.5.69, IDE problems
hda: dma_timer_expiry: dma status == 0x24drivers/ide/ide-io.c:108: spin_lock(drivers/ide/ide.c:c04fb648) already locked by drivers/ide/ide-io.c/948 drivers/ide/ide-io.c:990: spin_unlock(drivers/ide/ide.c:c04fb648) not locked
hda: lost interrupt
hda: dma_intr: bad DMA status (dma_stat=30)
hda: dma_intr: status=0x50 { DriveReady SeekComplete }
hda: dma_timer_expiry: dma status == 0x24drivers/ide/ide-io.c:108: spin_lock(drivers/ide/ide.c:c04fb648) already locked by drivers/ide/ide-io.c/948 drivers/ide/ide-io.c:990: spin_unlock(drivers/ide/ide.c:c04fb648) not locked
hda: lost interrupt
hda: dma_intr: bad DMA status (dma_stat=30)
hda: dma_intr: status=0x50 { DriveReady SeekComplete }
Got these messages while compiling XFree86.
# lspci (trimmed) 00:00.0 Host bridge: VIA Technologies, Inc. VT8375 [KM266/KL266] Host Bridge 00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP] 00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06)
# hdparm -v /dev/ide/host0/bus0/target0/lun0/disc
/dev/ide/host0/bus0/target0/lun0/disc:
multcount = 16 (on) IO_support = 1 (32-bit) unmaskirq = 1 (on) using_dma = 1 (on) keepsettings = 0 (off) readonly = 0 (off) readahead = 256 (on) geometry = 12009/16/63, sectors = 78165360, start = 0
# hdparm -I /dev/ide/host0/bus0/target0/lun0/disc
/dev/ide/host0/bus0/target0/lun0/disc:
ATA device, with non-removable media
Model Number: WDC WD400BB-00CAA1
Serial Number: WD-WMA8F2412631
Firmware Revision: 17.07W17Standards:
Supported: 5 4 3 2
Likely used: 6
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 78165360
device size with M = 1024*1024: 38166 MBytes
device size with M = 1000*1000: 40020 MBytes (40 GB)Capabilities:
LBA, IORDY(can be disabled)
bytes avail on r/w long: 40 Queue depth: 1
Standby timer values: spec'd by Standard, with device specific
minimum
R/W multiple sector transfer: Max = 16 Current = 16 Recommended acoustic management value: 128, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* READ BUFFER cmd
* WRITE BUFFER cmd
* Host Protected Area feature set
* Look-ahead
* Write cache
* Power Management feature set
Security Mode feature set
SMART feature set
* Device Configuration Overlay feature set
Automatic Acoustic Management feature set
SET MAX security extension
* DOWNLOAD MICROCODE cmd
* SMART self-test
* SMART error logging
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- below Vih
Device num = 0 determined by the jumper
Checksum: correct
Hello,
Quoted 8 lines · David Ford
hda:
dma_timer_expiry: dma status ==0x24drivers/ide/ide-io.c:108:spin_lock(drivers/ide/ide.c:c04fb648)already locked bydrivers/ide/ide-io.c/948drivers/ide/ide-io.c:990:spin_unlock(drivers/ide/ide.c:c04fb648)not locked
hda: lost interrupt
hda:dma_intr: bad DMA status (dma_stat=30)
hda:dma_intr: status=0x50 { DriveReady SeekComplete }
Quoted 7 lines
hda:
dma_timer_expiry: dma status ==0x24drivers/ide/ide-io.c:108:spin_lock(drivers/ide/ide.c:c04fb648)already locked bydrivers/ide/ide-io.c/948drivers/ide/ide-io.c:990:spin_unlock(drivers/ide/ide.c:c04fb648)not locked
hda: lost interrupt
hda:dma_intr: bad DMA status (dma_stat=30)
hda:dma_intr: status=0x50 { DriveReady SeekComplete }
known problem, patch sent to alan some time ago(may be i should
resync/resend?) for this dma_timer_expiry have several problems:
calls DRIVER(drive)->error - the one above, it's called with lock from ide_timer_expiry
calls ide_dma_end - the reason for called while not waiting messages, it's called again in ide_timer_expiry
there is one more locking problem known to me - HDIO_DRIVE_RESET, but can not find out how to fix it properly.
Signature · 2 lines
have fun, alex
Quoted 20 lines · Alexander Atanasov
Hello,
Quoted 8 lines · David Ford
hda:
dma_timer_expiry: dma status ==0x24drivers/ide/ide-io.c:108:spin_lock(drivers/ide/ide.c:c04fb648)already locked bydrivers/ide/ide-io.c/948drivers/ide/ide-io.c:990:spin_unlock(drivers/ide/ide.c:c04fb648)not locked
hda: lost interrupt
hda:dma_intr: bad DMA status (dma_stat=30)
hda:dma_intr: status=0x50 { DriveReady SeekComplete }Quoted 7 lines
hda:
dma_timer_expiry: dma status ==0x24drivers/ide/ide-io.c:108:spin_lock(drivers/ide/ide.c:c04fb648)already locked bydrivers/ide/ide-io.c/948drivers/ide/ide-io.c:990:spin_unlock(drivers/ide/ide.c:c04fb648)not locked
hda: lost interrupt
hda:dma_intr: bad DMA status (dma_stat=30)
hda:dma_intr: status=0x50 { DriveReady SeekComplete }
Quoted 6 lines
known problem, patch sent to alan some time ago(may be i should
resync/resend?) for thisdma_timer_expiryhave several problems:
calls DRIVER(drive)->error - the one above, it's called with lock fromide_timer_expiry
callside_dma_end- the reason for called while not waiting messages, it's called again inide_timer_expiry
+++ calls handler under the lock, thats fixed in -ac, and thats above, not error.
Quoted 5 lines
there is one more locking problem known to me -
HDIO_DRIVE_RESET, but can not find out how to fix it properly.
Signature · 2 lines
have fun, alex
Hi Alex!
Quoted 20 lines · Alexander Atanasov
Hello,
Quoted 8 lines · David Ford
hda:
dma_timer_expiry: dma status ==0x24drivers/ide/ide-io.c:108:spin_lock(drivers/ide/ide.c:c04fb648)already locked bydrivers/ide/ide-io.c/948drivers/ide/ide-io.c:990:spin_unlock(drivers/ide/ide.c:c04fb648)not locked
hda: lost interrupt
hda:dma_intr: bad DMA status (dma_stat=30)
hda:dma_intr: status=0x50 { DriveReady SeekComplete }Quoted 7 lines
hda:
dma_timer_expiry: dma status ==0x24drivers/ide/ide-io.c:108:spin_lock(drivers/ide/ide.c:c04fb648)already locked bydrivers/ide/ide-io.c/948drivers/ide/ide-io.c:990:spin_unlock(drivers/ide/ide.c:c04fb648)not locked
hda: lost interrupt
hda:dma_intr: bad DMA status (dma_stat=30)
hda:dma_intr: status=0x50 { DriveReady SeekComplete }
Quoted 2 lines
known problem, patch sent to alan some time ago(may be i should
resync/resend?) for thisdma_timer_expiryhave several problems:
Please resync with 2.5, put some nice comment and resend :-).
--
Bartlomiej
Quoted 11 lines
calls DRIVER(drive)->error - the one above, it's called with lock from
ide_timer_expiry
callside_dma_end- the reason for called while not waiting messages, it's called again inide_timer_expirythere is one more locking problem known to me -
HDIO_DRIVE_RESET, but can not find out how to fix it properly.--
have fun,
alex
Quoted 4 lines · David Ford
hda:
dma_timer_expiry: dma status ==0x24drivers/ide/ide-io.c:108:spin_lock(drivers/ide/ide.c:c04fb648)already locked bydrivers/ide/ide-io.c/948drivers/ide/ide-io.c:990:spin_unlock(drivers/ide/ide.c:c04fb648)not locked
This was fixed in the 2.4-ac tree. I guess the 2.5 stuff hasn't picked up the changes yet