nusb/kb: increase maximum report descriptor size, non-continuous endpoints (from richard millars usbmouse-endpoint patch)

Another band-aid fix to the usb mouse driver, to cope with a mouse which has
an interrupt endpoint number 3 but no number 1 or 2, and a report descriptor
more than 128 bytes long.
This commit is contained in:
cinap_lenrek 2013-01-30 20:33:28 +01:00
parent 6b4c5380d8
commit a2b83a5aea

View file

@ -39,7 +39,7 @@ struct KDev
/* report descriptor */ /* report descriptor */
int nrep; int nrep;
uchar rep[128]; uchar rep[512];
}; };
/* /*
@ -806,7 +806,7 @@ threadmain(int argc, char* argv[])
ud = d->usb; ud = d->usb;
for(i = 0; i < nelem(ud->ep); i++){ for(i = 0; i < nelem(ud->ep); i++){
if((ep = ud->ep[i]) == nil) if((ep = ud->ep[i]) == nil)
break; continue;
if(ep->type == Eintr && ep->dir == Ein && ep->iface->csp == KbdCSP) if(ep->type == Eintr && ep->dir == Ein && ep->iface->csp == KbdCSP)
kbstart(d, ep, "/dev/kbin", kbdwork); kbstart(d, ep, "/dev/kbin", kbdwork);
if(ep->type == Eintr && ep->dir == Ein && ep->iface->csp == PtrCSP) if(ep->type == Eintr && ep->dir == Ein && ep->iface->csp == PtrCSP)