Date: Sun, 11 Jan 2015 18:17:30 +0100 From: Hans Petter Selasky <hps@selasky.org> To: Joshua Ruehlig <joshruehlig@gmail.com> Cc: freebsd-usb@freebsd.org Subject: Re: [Bug 185747] [cam] [patch] fix support for USB key "Kingston DT 101 G2" Message-ID: <54B2B02A.1030808@selasky.org> In-Reply-To: <CAAhjGQvb_fghwxnVvbqas%2B-eo_%2BdCkjWTTZL8-ikM=bqBa4q=A@mail.gmail.com> References: <bug-185747-17@https.bugs.freebsd.org/bugzilla/> <bug-185747-17-I2rbBeguqj@https.bugs.freebsd.org/bugzilla/> <54B28BE3.9010501@selasky.org> <CAAhjGQvb_fghwxnVvbqas%2B-eo_%2BdCkjWTTZL8-ikM=bqBa4q=A@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On 01/11/15 17:59, Joshua Ruehlig wrote:
> Tell meif you need anything else, thanks
> - Josh
Hi,
Can you try the attached patch?
--HPS
[-- Attachment #2 --]
Index: sys/dev/usb/usb_freebsd.h
===================================================================
--- sys/dev/usb/usb_freebsd.h (revision 276981)
+++ sys/dev/usb/usb_freebsd.h (working copy)
@@ -88,7 +88,7 @@
#define USB_EP0_BUFSIZE 1024 /* bytes */
#define USB_CS_RESET_LIMIT 20 /* failures = 20 * 50 ms = 1sec */
-#define USB_MAX_AUTO_QUIRK 4 /* maximum number of dynamic quirks */
+#define USB_MAX_AUTO_QUIRK 8 /* maximum number of dynamic quirks */
typedef uint32_t usb_timeout_t; /* milliseconds */
typedef uint32_t usb_frlength_t; /* bytes */
Index: sys/dev/usb/usb_freebsd_loader.h
===================================================================
--- sys/dev/usb/usb_freebsd_loader.h (revision 276981)
+++ sys/dev/usb/usb_freebsd_loader.h (working copy)
@@ -83,7 +83,7 @@
#define USB_EP0_BUFSIZE 1024 /* bytes */
#define USB_CS_RESET_LIMIT 20 /* failures = 20 * 50 ms = 1sec */
-#define USB_MAX_AUTO_QUIRK 4 /* maximum number of dynamic quirks */
+#define USB_MAX_AUTO_QUIRK 8 /* maximum number of dynamic quirks */
typedef uint32_t usb_timeout_t; /* milliseconds */
typedef uint32_t usb_frlength_t; /* bytes */
Index: sys/dev/usb/usb_msctest.c
===================================================================
--- sys/dev/usb/usb_msctest.c (revision 276981)
+++ sys/dev/usb/usb_msctest.c (working copy)
@@ -718,10 +718,11 @@
if (err != ERR_CSW_FAILED)
goto error;
- DPRINTF("Device doesn't handle synchronize cache\n");
+ DPRINTF("Device doesn't handle synchronize cache "
+ "and prevent allow medium removal\n");
usbd_add_dynamic_quirk(udev, UQ_MSC_NO_SYNC_CACHE);
-
+ usbd_add_dynamic_quirk(udev, UQ_MSC_NO_PREVENT_ALLOW);
} else {
/*
@@ -748,10 +749,13 @@
goto retry_sync_cache;
DPRINTF("Device most likely doesn't "
- "handle synchronize cache\n");
+ "handle synchronize cache nor"
+ "prevent allow medium removal\n");
usbd_add_dynamic_quirk(udev,
UQ_MSC_NO_SYNC_CACHE);
+ usbd_add_dynamic_quirk(udev,
+ UQ_MSC_NO_PREVENT_ALLOW);
} else {
if (err != ERR_CSW_FAILED)
goto error;
@@ -796,6 +800,7 @@
usbd_add_dynamic_quirk(udev, UQ_MSC_NO_SYNC_CACHE);
usbd_add_dynamic_quirk(udev, UQ_MSC_NO_TEST_UNIT_READY);
+ usbd_add_dynamic_quirk(udev, UQ_MSC_NO_PREVENT_ALLOW);
/* Need to re-enumerate the device */
usbd_req_re_enumerate(udev, NULL);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54B2B02A.1030808>
