svn commit: r308299 - head/sys/cam/scsi

Scott Long scottl at FreeBSD.org
Fri Nov 4 17:08:53 UTC 2016


Author: scottl
Date: Fri Nov  4 17:08:52 2016
New Revision: 308299
URL: https://svnweb.freebsd.org/changeset/base/308299

Log:
  If the da periph probe state machine gets an asc=0x44 error, the periph
  is not going to recover until the system is reset.  Treat it as a special
  case and don't allow it to fall through to quasi-success.
  
  Reviewed by:	ken, imp
  Obtained from:	Netflix
  MFC after:	3 days

Modified:
  head/sys/cam/scsi/scsi_da.c

Modified: head/sys/cam/scsi/scsi_da.c
==============================================================================
--- head/sys/cam/scsi/scsi_da.c	Fri Nov  4 17:04:45 2016	(r308298)
+++ head/sys/cam/scsi/scsi_da.c	Fri Nov  4 17:08:52 2016	(r308299)
@@ -4310,8 +4310,14 @@ dadone(struct cam_periph *periph, union 
 				 * direct access or optical disk device,
 				 * as long as it doesn't return a "Logical
 				 * unit not supported" (0x25) error.
+				 * "Internal Target Failure" (0x44) is also
+				 * special and typically means that the
+				 * device is a SATA drive behind a SATL
+				 * translation that's fallen into a
+				 * terminally fatal state.
 				 */
-				if ((have_sense) && (asc != 0x25)
+				if ((have_sense)
+				 && (asc != 0x25) && (asc != 0x44)
 				 && (error_code == SSD_CURRENT_ERROR)) {
 					const char *sense_key_desc;
 					const char *asc_desc;


More information about the svn-src-all mailing list