[Midnightbsd-cvs] src [9318] trunk/sys/cam/scsi/scsi_all.c: Do not pretend to have autosense data when no such data is available.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Thu Mar 2 19:17:11 EST 2017


Revision: 9318
          http://svnweb.midnightbsd.org/src/?rev=9318
Author:   laffer1
Date:     2017-03-02 19:17:11 -0500 (Thu, 02 Mar 2017)
Log Message:
-----------
Do not pretend to have autosense data when no such data is available.

Make umass return an error code if SCSI sense retrieval request
has failed. Make sure scsi_error_action honors SF_NO_RETRY and
SF_NO_RECOVERY in all cases, even if it cannot parse sense bytes.

Modified Paths:
--------------
    trunk/sys/cam/scsi/scsi_all.c

Modified: trunk/sys/cam/scsi/scsi_all.c
===================================================================
--- trunk/sys/cam/scsi/scsi_all.c	2017-03-03 00:15:28 UTC (rev 9317)
+++ trunk/sys/cam/scsi/scsi_all.c	2017-03-03 00:17:11 UTC (rev 9318)
@@ -3071,17 +3071,16 @@
 					  SSQ_PRINT_SENSE;
 			}
 		}
-		if ((action & SS_MASK) >= SS_START &&
-		    (sense_flags & SF_NO_RECOVERY)) {
-			action &= ~SS_MASK;
-			action |= SS_FAIL;
-		} else if ((action & SS_MASK) == SS_RETRY &&
-		    (sense_flags & SF_NO_RETRY)) {
-			action &= ~SS_MASK;
-			action |= SS_FAIL;
-		}
-
 	}
+	if ((action & SS_MASK) >= SS_START &&
+	    (sense_flags & SF_NO_RECOVERY)) {
+		action &= ~SS_MASK;
+		action |= SS_FAIL;
+	} else if ((action & SS_MASK) == SS_RETRY &&
+	    (sense_flags & SF_NO_RETRY)) {
+		action &= ~SS_MASK;
+		action |= SS_FAIL;
+	}
 	if ((sense_flags & SF_PRINT_ALWAYS) != 0)
 		action |= SSQ_PRINT_SENSE;
 	else if ((sense_flags & SF_NO_PRINT) != 0)



More information about the Midnightbsd-cvs mailing list