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;
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to