diff options
| author | Scott Long <scottl@FreeBSD.org> | 2016-11-04 17:08:52 +0000 |
|---|---|---|
| committer | Scott Long <scottl@FreeBSD.org> | 2016-11-04 17:08:52 +0000 |
| commit | 34cc1bf804d35d9c00b83cecc6b00e27e6e28f46 (patch) | |
| tree | 0192bd5a03857be9b7674fda06a2012c8d21606e /sys | |
| parent | 90aabaafa55a7a3d48bf27db160b8f058298015d (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/cam/scsi/scsi_da.c | 8 |
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; |
