[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CVS: cvs.openbsd.org: src



CVSROOT:	/cvs
Module name:	src
Changes by:	krw_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org	2006/03/04 07:20:38

Modified files:
	sys/dev/ic     : aic7xxx_openbsd.c aic79xx_openbsd.c 

Log message:
All CAM_* values stored in xs->error must be 'interpreted' by
ah[cd]_done() into XS_* values understood by the SCSI code before
returning xs to the tender mercies of the SCSI code.

So if we bail out without calling ah[cd]_done(), because the request
cdb length is excessive, don't use ah[cd]_set_transaction() to put
CAM_REQ_INVALID into xs->error, just jam in XS_DRIVER_STUFFUP as
ah[cd]_done() would have. If CAM_REQ_INVALID escapes it will be
interpreted as XS_SHORT_SENSE as far as I can tell.

This code path should never be trod so the net effect should be
minimal.



Visit your host, monkey.org