diff options
author | gibbs <gibbs@FreeBSD.org> | 1998-09-20 07:17:11 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1998-09-20 07:17:11 +0000 |
commit | 9b0d027ad357e908d16d45b8a7efc464c08e09cc (patch) | |
tree | 9592736caa9fc7df26731288cf45cbe6594b6522 /sys/cam | |
parent | eccdd13267ca43b65886118a844bda3818e735ad (diff) | |
download | FreeBSD-src-9b0d027ad357e908d16d45b8a7efc464c08e09cc.zip FreeBSD-src-9b0d027ad357e908d16d45b8a7efc464c08e09cc.tar.gz |
Don't invalidate devices due to unexpected unit attention errors. In
a perfect world, we'd notice the UA and do some device validation to ensure
that the device hasn't changed. We may get this before the year ends,
but not before 3.0R. This change gives the adminstrator ample ammunition
to take off a foot or two, but hey this *is* UN*X.
Diffstat (limited to 'sys/cam')
-rw-r--r-- | sys/cam/scsi/scsi_cd.c | 8 | ||||
-rw-r--r-- | sys/cam/scsi/scsi_da.c | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/sys/cam/scsi/scsi_cd.c b/sys/cam/scsi/scsi_cd.c index 19a0e34..4a0ece7 100644 --- a/sys/cam/scsi/scsi_cd.c +++ b/sys/cam/scsi/scsi_cd.c @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $Id: scsi_cd.c,v 1.1 1998/09/15 06:36:34 gibbs Exp $ */ /* * Portions of this driver taken from the original FreeBSD cd driver. @@ -2547,6 +2547,12 @@ cderror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags) periph = xpt_path_periph(ccb->ccb_h.path); softc = (struct cd_softc *)periph->softc; + /* + * XXX + * Until we have a better way of doing pack validation, + * don't treat UAs as errors. + */ + sense_flags |= SF_RETRY_UA; return (cam_periph_error(ccb, cam_flags, sense_flags, &softc->saved_ccb)); } diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c index cccb317..3f3cd0f 100644 --- a/sys/cam/scsi/scsi_da.c +++ b/sys/cam/scsi/scsi_da.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scsi_da.c,v 1.3 1998/09/18 22:33:59 ken Exp $ + * $Id: scsi_da.c,v 1.4 1998/09/19 04:59:35 gibbs Exp $ */ #include <sys/param.h> @@ -1281,6 +1281,12 @@ daerror(union ccb *ccb, u_int32_t cam_flags, u_int32_t sense_flags) periph = xpt_path_periph(ccb->ccb_h.path); softc = (struct da_softc *)periph->softc; + /* + * XXX + * Until we have a better way of doing pack validation, + * don't treat UAs as errors. + */ + sense_flags |= SF_RETRY_UA; return(cam_periph_error(ccb, cam_flags, sense_flags, &softc->saved_ccb)); } |