summaryrefslogtreecommitdiff
path: root/sys/src/cmd/nusb/lib/parse.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2017-07-31 03:19:24 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2017-07-31 03:19:24 +0200
commit215b67ff3d630c56418026dda7ae68f23111c4a5 (patch)
tree4f968be8bec039574fe856cd4baf757034075e0d /sys/src/cmd/nusb/lib/parse.c
parentd46099e3afa9681a4f98e0d2574c2ad65820ed7e (diff)
nusb/usbd: create endpoint files for conf #1, usb3 preparation
Diffstat (limited to 'sys/src/cmd/nusb/lib/parse.c')
-rw-r--r--sys/src/cmd/nusb/lib/parse.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/src/cmd/nusb/lib/parse.c b/sys/src/cmd/nusb/lib/parse.c
index d9c61f2b9..2f7e6ae55 100644
--- a/sys/src/cmd/nusb/lib/parse.c
+++ b/sys/src/cmd/nusb/lib/parse.c
@@ -27,7 +27,12 @@ parsedev(Dev *xd, uchar *b, int n)
return -1;
}
d->csp = CSP(dd->bDevClass, dd->bDevSubClass, dd->bDevProtocol);
- d->ep[0]->maxpkt = xd->maxpkt = dd->bMaxPacketSize0;
+ d->ver = GET2(dd->bcdUSB);
+ xd->isusb3 = (d->ver >= 0x0300);
+ if(xd->isusb3)
+ d->ep[0]->maxpkt = xd->maxpkt = 1<<dd->bMaxPacketSize0;
+ else
+ d->ep[0]->maxpkt = xd->maxpkt = dd->bMaxPacketSize0;
d->class = dd->bDevClass;
d->nconf = dd->bNumConfigurations;
if(d->nconf == 0)