svn commit: r277364 - stable/10/sys/dev/usb
Hans Petter Selasky
hselasky at FreeBSD.org
Mon Jan 19 07:06:16 UTC 2015
Author: hselasky
Date: Mon Jan 19 07:06:15 2015
New Revision: 277364
URL: https://svnweb.freebsd.org/changeset/base/277364
Log:
MFC r277044:
Increase the maximum number of dynamic USB quirks. USB memory stick
devices which don't support the synchronize cache SCSI command are
likely to also not support the prevent-allow medium removal SCSI
command.
PR: 185747
Modified:
stable/10/sys/dev/usb/usb_freebsd.h
stable/10/sys/dev/usb/usb_freebsd_loader.h
stable/10/sys/dev/usb/usb_msctest.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/dev/usb/usb_freebsd.h
==============================================================================
--- stable/10/sys/dev/usb/usb_freebsd.h Mon Jan 19 07:03:40 2015 (r277363)
+++ stable/10/sys/dev/usb/usb_freebsd.h Mon Jan 19 07:06:15 2015 (r277364)
@@ -87,7 +87,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 */
Modified: stable/10/sys/dev/usb/usb_freebsd_loader.h
==============================================================================
--- stable/10/sys/dev/usb/usb_freebsd_loader.h Mon Jan 19 07:03:40 2015 (r277363)
+++ stable/10/sys/dev/usb/usb_freebsd_loader.h Mon Jan 19 07:06:15 2015 (r277364)
@@ -82,7 +82,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 */
Modified: stable/10/sys/dev/usb/usb_msctest.c
==============================================================================
--- stable/10/sys/dev/usb/usb_msctest.c Mon Jan 19 07:03:40 2015 (r277363)
+++ stable/10/sys/dev/usb/usb_msctest.c Mon Jan 19 07:06:15 2015 (r277364)
@@ -711,10 +711,11 @@ retry_sync_cache:
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 {
/*
@@ -741,10 +742,13 @@ retry_sync_cache:
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;
@@ -788,6 +792,7 @@ error:
DPRINTF("Device did not respond, enabling all quirks\n");
usbd_add_dynamic_quirk(udev, UQ_MSC_NO_SYNC_CACHE);
+ usbd_add_dynamic_quirk(udev, UQ_MSC_NO_PREVENT_ALLOW);
usbd_add_dynamic_quirk(udev, UQ_MSC_NO_TEST_UNIT_READY);
/* Need to re-enumerate the device */
More information about the svn-src-stable
mailing list