On Wed, Aug 21, 2002 at 02:46:14 +0200, Thomas Quinot wrote:
> Le 2002-08-17, Nate Lawson écrivait :
> 
> > I'm working on cleaning up quirk entries in scsi_da.c, especially ones
> > related to READ/WRITE 6->10 escalation.  For those just joining in, there
> > is a function (cmd6workaround) that handles a R/W6 error by translating
> > the cdb to 10 bytes and restarting it.
> 
> It might be worthwhile moving this to some generic part in the CAM
> framework, instead of having it in the da driver. Similar promotion
> is performed for some commands (MODE_{SELECT,SENSE}_6 as well as
> {READ,WRITE}_6) in a rather ad hoc fashion in atapi-cam. At least
> the cmd6workaround function should be factored in some way; as for the
> try 6 -> fail -> retry 10 process, however, I am not sure this can
> be readily generalised to ATAPI devices (which are explicitly specified
> to only support the _10 variants) as these tend to have very strange
> reactions to CDBs they cannot handle properly.

The right way to handle the 6/10 byte stuff is to have it be a function of
the transport type (see the CAM_NEW_TRAN_CODE stuff).  The peripheral
drivers and userland applications can query the transport type and send
6 or 10 byte commands as appropriate.

If we're going to come up with a generic solution, that's probably the
direction we need to be heading.

Ken
-- 
Kenneth Merry
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to