kern/103602: drive gets wedged on READ CD CAPACITY if no disc is in

Josh Carroll josh.carroll at gmail.com
Wed Apr 25 01:45:30 UTC 2007


> > *And* you mentioned, very early in this PR, that disabling DMA
> > altogether made the problem disappear. So, let's try something: enable
> > DMA only for READ and WRITE commands (where it's most useful).
> >
> > Apparently it's not a completely unhead-of situation that some drives
> > have problems with DMA for commands other than READ and WRITE, see:
> > http://www.mail-archive.com/linux-ide@vger.kernel.org/msg05425.html
> >

I had to go back to my snapshot of -CURRENT from 4/2 (or so), as I was
getting panics with -CURRENT cvsup'd as of today.  But with the old
source, I think disabling DMA except for READ/WRITE did the trick.
When I run sg_readcap /dev/cd0 now, I get:

READ CAPACITY (10) failed, device not ready

I get this immediately with no delay! I decided to try to burn a disk
with growisofs,
which worked, though I saw the following in dmesg (I had disabled
CAMDEBUG once I knew it was working):

acd0: FAILURE - READ_BUFFER ILLEGAL REQUEST asc=0x24 ascq=0x00
acd0: FAILURE - MODE_SELECT_BIG ILLEGAL REQUEST asc=0x24 ascq=0x00
acd0: FAILURE - READ_TOC ILLEGAL REQUEST asc=0x24 ascq=0x00

The disk only burned at 6x, even though the media and drive support
16x. But that may not be related to the above at all, unless it's
related to the MODE_SELECT_BIG error?

Thanks,
Josh


More information about the freebsd-scsi mailing list