diff options
author | wpaul <wpaul@FreeBSD.org> | 2003-07-07 18:01:23 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2003-07-07 18:01:23 +0000 |
commit | f881e4543a99c455fab0faf59d0e103ef32c8113 (patch) | |
tree | 7b51a14d883fab98c46e69208e65162d3ed04929 | |
parent | f2c29b61f1863b25b4962bab19cc37d0e3b84121 (diff) | |
download | FreeBSD-src-f881e4543a99c455fab0faf59d0e103ef32c8113.zip FreeBSD-src-f881e4543a99c455fab0faf59d0e103ef32c8113.tar.gz |
Add a workaround for the USB_PRODUCT_MCT_SITECOM_USB232 device: limit
the bulk out buffer size to 16 bytes. The bulk out endpoint descriptor
reports 32 bytes, but if you use this value, data will get dropped.
Reviewed/approved by: scottl
-rw-r--r-- | sys/dev/usb/umct.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/usb/umct.c b/sys/dev/usb/umct.c index 37fcb3c..ee8feeb 100644 --- a/sys/dev/usb/umct.c +++ b/sys/dev/usb/umct.c @@ -241,7 +241,10 @@ USB_ATTACH(umct) if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_OUT) { ucom->sc_bulkout_no = ed->bEndpointAddress; - ucom->sc_obufsize = UGETW(ed->wMaxPacketSize); + if (uaa->product == USB_PRODUCT_MCT_SITECOM_USB232) + ucom->sc_obufsize = 16; /* device is broken */ + else + ucom->sc_obufsize = UGETW(ed->wMaxPacketSize); continue; } |