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