ATA DVD playback hanging in physrd

Søren Schmidt sos at
Wed Sep 1 12:58:59 PDT 2004

Nate Lawson wrote:
> Kevin Oberman wrote:
>>> Date: Fri, 16 Jul 2004 15:50:03 -0700
>>> From: Nate Lawson <nate at>
>>> Sender: owner-freebsd-current at
>>> While playing back a DVD on my Thinkpad, it hangs at some point (2-5
>>> minutes after beginning playback).  The player is hung in "physrd" and
>>> the drive stops spinning.  This hang happens when the drive is in PIO4
>>> or DMA mode.
>>> However, starting another process (i.e. cat /dev/acd0) spins up the
>>> drive and it works (and the other process begins running again).
>>> What's interesting is that I can quickly trigger this hang by starting
>>> IO on a completely different channel (i.e. dd if=/dev/ad0 of=/dev/null
>>> bs=1m).  This indicates that it may be a driver issue since the DVD
>>> drive that hangs is on a different channel and irq than the hard
>>> drive.
>>> Devices:
>>> atapci0: <Intel ICH3 UDMA100 controller> port
>>> 0x1860-0x186f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 31.1 on pci0
>>> ata0: at 0x1f0 irq 14 on atapci0
>>> ata1: at 0x170 irq 15 on atapci0
>>> [...]
>>> ad0: 19077MB <IC25N020ATMR04-0> [41344/15/63] at ata0-master UDMA100
>>> ata1-master: FAILURE - ATAPI_RESET no interrupt
>>> acd0: DVDROM <MATSHITADVD-ROM SR-8175> at ata1-master PIO4
>>> The same behavior also happens on my DVD/CDRW drive.
>>> ata1-slave: FAILURE - ATAPI_IDENTIFY no interrupt
>>> ata1-slave: FAILURE - ATAPI_IDENTIFY no interrupt
>>> ata1-master: FAILURE - ATAPI_RESET no interrupt
>>> acd0: CDRW <UJDA720 DVD/CDRW> at ata1-master PIO4
>> I have been seeing the same thing on my ThinkPad for a couple of
>> weeks. It may have been there for longer as I had not heavily used the
>> DVD for a while. There have been similar reports from others, but this
>> is the most exact match to what I have been seeing. Mine is a Toshiba
>> DVD/CDRW (DW-28E) at ata1-master UDMA33.
> I don't know if others reported back on this yet, but the problem is 
> fixed.  I believe Soeren's race fix was the key.

Yes, this was the race that could get a request lost..

> Thanks!



More information about the freebsd-current mailing list