diff options
author | Gerd Hoffmann | 2017-01-31 14:52:07 +0100 |
---|---|---|
committer | Gerd Hoffmann | 2017-02-06 10:23:17 +0100 |
commit | 811ad5d8f1d3f35240043fe880d34dce6f2097a3 (patch) | |
tree | 66371b569263d818ee8884c1326ca6d93d4905fe | |
parent | usb/uas: more verbose error message (diff) | |
download | qemu-811ad5d8f1d3f35240043fe880d34dce6f2097a3.tar.gz qemu-811ad5d8f1d3f35240043fe880d34dce6f2097a3.tar.xz qemu-811ad5d8f1d3f35240043fe880d34dce6f2097a3.zip |
usb: accept usb3 control requests
Windows 10 reportedly sends these, so accept them in case
the device in question is a superspeed (usb3) device.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 1485870727-21956-2-git-send-email-kraxel@redhat.com
-rw-r--r-- | hw/usb/desc.c | 7 | ||||
-rw-r--r-- | include/hw/usb.h | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/hw/usb/desc.c b/hw/usb/desc.c index 7828e52c6f..c36bf30e4f 100644 --- a/hw/usb/desc.c +++ b/hw/usb/desc.c @@ -774,6 +774,13 @@ int usb_desc_handle_control(USBDevice *dev, USBPacket *p, trace_usb_set_device_feature(dev->addr, value, ret); break; + case DeviceOutRequest | USB_REQ_SET_SEL: + case DeviceOutRequest | USB_REQ_SET_ISOCH_DELAY: + if (dev->speed == USB_SPEED_SUPER) { + ret = 0; + } + break; + case InterfaceRequest | USB_REQ_GET_INTERFACE: if (index < 0 || index >= dev->ninterfaces) { break; diff --git a/include/hw/usb.h b/include/hw/usb.h index 43838c9f5d..c42b29c866 100644 --- a/include/hw/usb.h +++ b/include/hw/usb.h @@ -135,6 +135,8 @@ #define USB_REQ_GET_INTERFACE 0x0A #define USB_REQ_SET_INTERFACE 0x0B #define USB_REQ_SYNCH_FRAME 0x0C +#define USB_REQ_SET_SEL 0x30 +#define USB_REQ_SET_ISOCH_DELAY 0x31 #define USB_DEVICE_SELF_POWERED 0 #define USB_DEVICE_REMOTE_WAKEUP 1 |