Date: Mon, 29 May 2017 09:22:53 +0000 (UTC) From: Wojciech Macek <wma@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r319117 - head/sys/cam/scsi Message-ID: <201705290922.v4T9MrkD005947@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@semihalf.com> Konrad Adamczyk <ka@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,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705290922.v4T9MrkD005947>