aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@google.com>2019-09-19 18:42:17 +0200
committerAndrey Konovalov <andreyknvl@gmail.com>2019-09-19 19:31:56 +0200
commit0c00210ff32f64808e2ab7a38feae960f3981ccf (patch)
tree4099d896bcb6757464a51763d394c2d8588f38dc /pkg
parentb4680d8341733f48295ccf188f109cf69027a3f9 (diff)
executor: always provide DEVICE_QUALIFIER USB descriptor
Diffstat (limited to 'pkg')
-rw-r--r--pkg/csource/generated.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/pkg/csource/generated.go b/pkg/csource/generated.go
index 9e9847ce8..b5bdd09c3 100644
--- a/pkg/csource/generated.go
+++ b/pkg/csource/generated.go
@@ -1993,6 +1993,21 @@ static bool lookup_connect_response(struct vusb_connect_descriptors* descs, stru
*response_length = descs->bos_len;
return true;
case USB_DT_DEVICE_QUALIFIER:
+ if (!descs->qual) {
+ struct usb_qualifier_descriptor* qual =
+ (struct usb_qualifier_descriptor*)response_data;
+ qual->bLength = sizeof(*qual);
+ qual->bDescriptorType = USB_DT_DEVICE_QUALIFIER;
+ qual->bcdUSB = index->dev->bcdUSB;
+ qual->bDeviceClass = index->dev->bDeviceClass;
+ qual->bDeviceSubClass = index->dev->bDeviceSubClass;
+ qual->bDeviceProtocol = index->dev->bDeviceProtocol;
+ qual->bMaxPacketSize0 = index->dev->bMaxPacketSize0;
+ qual->bNumConfigurations = index->dev->bNumConfigurations;
+ qual->bRESERVED = 0;
+ *response_length = sizeof(*qual);
+ return true;
+ }
*response_data = descs->qual;
*response_length = descs->qual_len;
return true;