From 811ad5d8f1d3f35240043fe880d34dce6f2097a3 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 31 Jan 2017 14:52:07 +0100 Subject: [PATCH] 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 Message-id: 1485870727-21956-2-git-send-email-kraxel@redhat.com --- hw/usb/desc.c | 7 +++++++ include/hw/usb.h | 2 ++ 2 files changed, 9 insertions(+) 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 -- 2.39.2