Author: mav
Date: Thu Sep 26 14:48:39 2019
New Revision: 352743
URL: https://svnweb.freebsd.org/changeset/base/352743

Log:
  Add kern.cam.da.X.quirks tunable, similar existing for ada.
  
  Submitted by: Michael Lass
  MFC after:    2 weeks
  Differential Revision:        https://reviews.freebsd.org/D20677

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

Modified: head/sys/cam/scsi/scsi_da.c
==============================================================================
--- head/sys/cam/scsi/scsi_da.c Thu Sep 26 13:27:25 2019        (r352742)
+++ head/sys/cam/scsi/scsi_da.c Thu Sep 26 14:48:39 2019        (r352743)
@@ -2694,6 +2694,7 @@ daregister(struct cam_periph *periph, void *arg)
        struct ccb_getdev *cgd;
        char tmpstr[80];
        caddr_t match;
+       int quirks;
 
        cgd = (struct ccb_getdev *)arg;
        if (cgd == NULL) {
@@ -2749,6 +2750,13 @@ daregister(struct cam_periph *periph, void *arg)
        xpt_path_inq(&cpi, periph->path);
        if (cpi.ccb_h.status == CAM_REQ_CMP && (cpi.hba_misc & PIM_NO_6_BYTE))
                softc->quirks |= DA_Q_NO_6_BYTE;
+
+       /* Override quirks if tunable is set */
+       snprintf(tmpstr, sizeof(tmpstr), "kern.cam.da.%d.quirks",
+                periph->unit_number);
+       quirks = softc->quirks;
+       TUNABLE_INT_FETCH(tmpstr, &quirks);
+       softc->quirks = quirks;
 
        if (SID_TYPE(&cgd->inq_data) == T_ZBC_HM)
                softc->zone_mode = DA_ZONE_HOST_MANAGED;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to