OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
Re: CVS: cvs.openbsd.org: src

From: Constantine Sapuntzakis (csapuntzstanford.edu)
Date: Sun Apr 13 2003 - 20:33:43 CDT


Toby, you're right in general about having to wait a long time to decide
that an ATA channel is empty. In theory, a device can take up to 31
seconds to respond.

But this patch fixes a different problem. We were not correctly handling
situations where the master aborted an IDENTIFY to a non-existant slave.
While this behavior is not to spec, some ATAPI devices do this to speed
up detect.

We still wait for DRQ after issuing IDENTIFY. However, by setting pmask
= 0 rather than DRQ, we also listen to errors/aborts.

-Costa

Tobias Weingartner wrote:
> On Saturday, April 12, Alexander Yurchenko wrote:
>
>>CVSROOT: /cvs
>>Module name: src
>>Changes by: grangecvs.openbsd.org 2003/04/12 04:58:45
>>
>>Modified files:
>> sys/dev/ata : ata.c
>>
>>Log message:
>>Don't wait for DRQ after issuing IDENTIFY command. Fix long detecting
>>of atapi devices.
>>Problem reported by Nicolas Baldi <nib1cs.pitt.edu>, diff from costa.
>
>
> Is this according to spec? I thought there was something about needing
> to wait up to 30 seconds in order to be within spec, or was that only
> IDE (non ATAPI) devices?
>
>
> --Toby.