summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth R Westerback <krw@cvs.openbsd.org>2004-01-02 05:46:10 +0000
committerKenneth R Westerback <krw@cvs.openbsd.org>2004-01-02 05:46:10 +0000
commit68a37627ef457160b76a9f7976d93360f4e80fc9 (patch)
tree75473e88548db582b1b60b3d0b643c9562e33ba8
parent37d456915d91bac0ffc8886c27c7ecae6559b357 (diff)
Treat all commands returning a sense data ASC of 0x29 as having
suffered a reset condition. Newer devices return a variety of ASCQ values now (0x00 -> 0x07) rather than just 0x00. Such commands will now be retried rather than returning EIO. Started off when Marco Peereboom's SCSI analyzer saw some ASC/ASCQ results of 0x29/0x02. ok miod@.
-rw-r--r--sys/scsi/scsi_base.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/scsi/scsi_base.c b/sys/scsi/scsi_base.c
index dc63f43afbc..7dc66939cf5 100644
--- a/sys/scsi/scsi_base.c
+++ b/sys/scsi/scsi_base.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: scsi_base.c,v 1.46 2004/01/02 05:30:32 krw Exp $ */
+/* $OpenBSD: scsi_base.c,v 1.47 2004/01/02 05:46:09 krw Exp $ */
/* $NetBSD: scsi_base.c,v 1.43 1997/04/02 02:29:36 mycroft Exp $ */
/*
@@ -723,8 +723,7 @@ scsi_interpret_sense(xs)
error = EINVAL;
break;
case SKEY_UNIT_ATTENTION:
- if (sense->add_sense_code == 0x29 &&
- sense->add_sense_code_qual == 0x00)
+ if (sense->add_sense_code == 0x29)
return (ERESTART); /* device or bus reset */
if ((sc_link->flags & SDEV_REMOVABLE) != 0)
sc_link->flags &= ~SDEV_MEDIA_LOADED;