Re: Bad CD disk disables IDE DMA

From: Zoltan Boszormenyi
Date: Sun Aug 19 2007 - 04:34:39 EST


Zoltan Boszormenyi írta:
Bodo Eggert írta:
Michal Piotrowski <michal.k.k.piotrowski@xxxxxxxxx> wrote:
On 15/08/07, Zoltan Boszormenyi <zboszor@xxxxxxxxxx> wrote:

I noticed that a bad CD of mine makes DMA disabled:

[...]
hda: cdrom_decode_status: error=0x40 { LastFailedSense=0x04 }
ide: failed opcode was: unknown
hda: DMA disabled
hda: ide_intr: huh? expected NULL handler on exit
hda: ATAPI reset complete

Every time I put the said CD into to drive and DMA is on, I get the
above messages.
This might be intended.

Maybe, and maybe only a certain effect might be intended. And maybe I can
help by asking these questions:

1) Does disabling DMA fix the seek errors, or does it hide them by the PIO
interfce not printing them?

With DMA off no seek error occurs. When the transfer rate is
limited to UDMA3 I get this:

hda: drive_cmd: status=0x51 { DriveReady SeekComplete Error }
hda: drive_cmd: error=0x04 { AbortedCommand }
ide: failed opcode was: 0xec

Note the difference: the error code is different and
it knows the failed opcode as well. But DMA remains on.
Can it be a bad 80w cable? I don't think so, considering that
it doesn't occur for DVDs when using UDMA4...

2) If it does hide them, would filtering for seek errors be a sane thing to
do, or does the DMA engine (or HDD) behave badly on these errors, or
do bad-DMA devices report seek errors, too?

3) If it does not hide them, would re-enabling DMA on disk change be a
feasable workaround?
(proposed interface: use hdparm -d $num where $num =
0, 1: as before
3: DMA on, if switched off automatically, will be set to 2
2: DMA off, will be turned on (set to 3) on disk change)

The automatic DMA re-enabling would be a good solution.

4) Does libata work well enough for making all effort put into that old
IDE layer be a waste of time?

Unfortunately libata (or pata_amd) doesn't work very well on this machine,
I tried to switch to libata for the CD drive but it lost the DVD-playing capability.
It seems the error was that libdvdcss couldn't get the keys via the scd device.
This is the main obstacle that stops me switching to Fedora 7 from FC6.
I reported it some time ago but got no answer. Look for subject
"DVD-playing, ide-cd vs scsi-cd drivers".

Forget about this last comment. I just installed F7 on a similar machine,
motherboard is ABit KN9S instead of KN9SLI (mine), both have the same
MCP55 IDE rev a1 and MCP55 SATA rev a2. This new machine
plays DVDs nicely, so the difference is in the userspace. Although
both my FC6 and F7 has the same libdvdcss-1.2.9-4.lvn6. Its src.rpm
doesn't have any patches, just the mainstream libdvdcss sources.
Now explain that. :-)

Best regards,
Zoltán Böszörményi


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/