Author: mav
Date: Fri Apr  6 19:47:44 2018
New Revision: 332145
URL: https://svnweb.freebsd.org/changeset/base/332145

Log:
  Do not fail devices just for errors in descriptor format.
  
  MFC after:    1 week
  Sponsored by: iXsystems, Inc.

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

Modified: head/sys/cam/scsi/scsi_cd.c
==============================================================================
--- head/sys/cam/scsi/scsi_cd.c Fri Apr  6 19:47:07 2018        (r332144)
+++ head/sys/cam/scsi/scsi_cd.c Fri Apr  6 19:47:44 2018        (r332145)
@@ -1119,7 +1119,8 @@ cddone(struct cam_periph *periph, union ccb *done_ccb)
                                 * supported" (0x25) error.
                                 */
                                if ((have_sense) && (asc != 0x25)
-                                && (error_code == SSD_CURRENT_ERROR)) {
+                                && (error_code == SSD_CURRENT_ERROR
+                                 || error_code == SSD_DESC_CURRENT_ERROR)) {
                                        const char *sense_key_desc;
                                        const char *asc_desc;
 

Modified: head/sys/cam/scsi/scsi_da.c
==============================================================================
--- head/sys/cam/scsi/scsi_da.c Fri Apr  6 19:47:07 2018        (r332144)
+++ head/sys/cam/scsi/scsi_da.c Fri Apr  6 19:47:44 2018        (r332145)
@@ -4649,7 +4649,8 @@ dadone(struct cam_periph *periph, union ccb *done_ccb)
                                    (((csio->ccb_h.status & CAM_STATUS_MASK) ==
                                        CAM_REQ_INVALID) ||
                                     ((have_sense) &&
-                                     (error_code == SSD_CURRENT_ERROR) &&
+                                     (error_code == SSD_CURRENT_ERROR ||
+                                      error_code == SSD_DESC_CURRENT_ERROR) &&
                                      (sense_key == SSD_KEY_ILLEGAL_REQUEST)))) 
{
                                        cam_periph_lock(periph);
                                        softc->flags &= ~DA_FLAG_CAN_RC16;
@@ -4674,7 +4675,8 @@ dadone(struct cam_periph *periph, union ccb *done_ccb)
                                 */
                                if ((have_sense)
                                 && (asc != 0x25) && (asc != 0x44)
-                                && (error_code == SSD_CURRENT_ERROR)) {
+                                && (error_code == SSD_CURRENT_ERROR
+                                 || error_code == SSD_DESC_CURRENT_ERROR)) {
                                        const char *sense_key_desc;
                                        const char *asc_desc;
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to