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 MFC after: 1 week
This commit is contained in:
parent
7e47312c46
commit
9f21f476bf
@ -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 */
|
||||
|
@ -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 */
|
||||
|
@ -718,10 +718,11 @@ usb_msc_auto_quirk(struct usb_device *udev, uint8_t iface_index)
|
||||
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 @@ usb_msc_auto_quirk(struct usb_device *udev, uint8_t iface_index)
|
||||
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;
|
||||
@ -795,6 +799,7 @@ usb_msc_auto_quirk(struct usb_device *udev, uint8_t iface_index)
|
||||
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 */
|
||||
|
Loading…
Reference in New Issue
Block a user