aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2016-11-04 17:08:52 +0000
committerScott Long <scottl@FreeBSD.org>2016-11-04 17:08:52 +0000
commit34cc1bf804d35d9c00b83cecc6b00e27e6e28f46 (patch)
tree0192bd5a03857be9b7674fda06a2012c8d21606e /sys
parent90aabaafa55a7a3d48bf27db160b8f058298015d (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/cam/scsi/scsi_da.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c
index 16d8ef7b07ca..ffceb23a7c66 100644
--- a/sys/cam/scsi/scsi_da.c
+++ b/sys/cam/scsi/scsi_da.c
@@ -4310,8 +4310,14 @@ dadone(struct cam_periph *periph, union ccb *done_ccb)
* 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;