lkml.org 
[lkml]   [2005]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] libata error handling fixes (ATAPI)
Tejun Heo wrote:
> Jeff Garzik wrote:
>
>>
>> The port stops, when any error occurs. For device errors, set
>> PORT_CS_INIT bit in PORT_CTRL_STAT, then wait for Port Ready (bit 31,
>> see above).
>>
>
> Yeap, this did the trick. I'm working on SRST/init stuff and I think I
> can post patches later today. What workload do you use for testing a
> ATAPI device? I'm currently thinking of the following...
>
> * mounting & tarr'ing cdrom & unmount
> * repeat above with eject/load
> * burning a cdrom
> * ripping a music cd with cdparanoia
>
> Any other thing I can try?

I burn Fedora Core CDs and DVDs, and then run
/usr/lib/anaconda-runtime/checkisomd5 --verbose /dev/scd0

FC ISOs, and probably many others as well, appear to contain embedded
checksums. This is a really good test, I've found. I'll burn CDs/DVDs,
then use that to validate them on another machine. Or I'll use
checkisomd5 simply as a test of libata ATAPI itself.

On a side note:

As a scan through tons of operating system code and vendor drivers
shows, as well as behavior I'm seeing on my AHCI + Plextor setup, it is
probably helpful for the OS driver to issue internal retries, if the
command returns NOT READY.

My setup works without it, successfully burning CDs and DVDs, but has
problems with really long commands, and such those which occur when
cdrecord(1) finishes a CD burn, and performs its "fixating" step.

It may also be helpful to issue TUR until NOT READY goes away, in
ata_bus_probe() after ata_set_mode() completes.

Jeff


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

\
 
 \ /
  Last update: 2005-11-16 04:21    [W:0.067 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site