Author: wma
Date: Mon May 29 09:22:53 2017
New Revision: 319117
URL: https://svnweb.freebsd.org/changeset/base/319117

Log:
  Introduce Genesys GL3224 quirks
  
  The Genesys chip is failing when issueing READ_CAP(16) command.
  Force a quirk to disable it and use READ_CAP(10) instead.
  
  Also, depending on used firmware, GL3224 can be recognized
  either as 'storage device' or 'mass storage class' -
  enable both variants in scsi_quirk_table.
  
  Submitted by:    Wojciech Macek <w...@semihalf.com>
                   Konrad Adamczyk <k...@semihalf.com>
  Obtained from:   Semihalf
  Sponsored by:    Stormshield
  Reviewed by:     mav
  Differential revision: https://reviews.freebsd.org/D10902

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

Modified: head/sys/cam/scsi/scsi_da.c
==============================================================================
--- head/sys/cam/scsi/scsi_da.c Mon May 29 09:21:38 2017        (r319116)
+++ head/sys/cam/scsi/scsi_da.c Mon May 29 09:22:53 2017        (r319117)
@@ -684,6 +684,13 @@ static struct da_quirk_entry da_quirk_ta
        },
        {
                /*
+                * Genesys GL3224
+                */
+               {T_DIRECT, SIP_MEDIA_REMOVABLE, "Generic*", "STORAGE DEVICE*",
+               "120?"}, /*quirks*/ DA_Q_NO_SYNC_CACHE | DA_Q_4K | DA_Q_NO_RC16
+       },
+       {
+               /*
                 * Genesys 6-in-1 Card Reader
                 * PR: usb/94647
                 */

Modified: head/sys/cam/scsi/scsi_xpt.c
==============================================================================
--- head/sys/cam/scsi/scsi_xpt.c        Mon May 29 09:21:38 2017        
(r319116)
+++ head/sys/cam/scsi/scsi_xpt.c        Mon May 29 09:22:53 2017        
(r319117)
@@ -547,6 +547,14 @@ static struct scsi_quirk_entry scsi_quir
                CAM_QUIRK_NORPTLUNS, /*mintags*/2, /*maxtags*/255
        },
        {
+               { T_DIRECT, SIP_MEDIA_REMOVABLE, "Generic", "STORAGE DEVICE*", 
"120?" },
+               CAM_QUIRK_NORPTLUNS, /*mintags*/2, /*maxtags*/255
+       },
+       {
+               { T_DIRECT, SIP_MEDIA_REMOVABLE, "Generic", "MassStorageClass", 
"1533" },
+               CAM_QUIRK_NORPTLUNS, /*mintags*/2, /*maxtags*/255
+       },
+       {
                /* Default tagged queuing parameters for all devices */
                {
                  T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED,
_______________________________________________
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