svn commit: r319117 - head/sys/cam/scsi

Wojciech Macek wma at FreeBSD.org
Mon May 29 09:22:55 UTC 2017


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 <wma at semihalf.com>
                   Konrad Adamczyk <ka at 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,


More information about the svn-src-all mailing list