ATA DVD playback hanging in physrd

Kevin Oberman oberman at es.net
Wed Sep 1 12:56:23 PDT 2004


> Date: Wed, 01 Sep 2004 12:22:28 -0700
> From: Nate Lawson <nate at root.org>
> 
> Kevin Oberman wrote:
> >>Date: Fri, 16 Jul 2004 15:50:03 -0700
> >>From: Nate Lawson <nate at root.org>
> >>Sender: owner-freebsd-current at freebsd.org
> > 
> >>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.

Thanks for the note, Nate. I actually heard from someone else (I don't
remember who) that this bug had vanished, although the note di not
indicate what had fixed it.

I suspected either a race or a lost interrupt. 

In any case, I have not seen the problem for a couple of weeks. (I'm
guessing that it was ata-lowlevel.c 1.41 (and patches to most of the
rest of ata) in HEAD.

Thanks for the note!
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net			Phone: +1 510 486-8634


More information about the freebsd-current mailing list