summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>2003-07-07 18:01:23 +0000
committerwpaul <wpaul@FreeBSD.org>2003-07-07 18:01:23 +0000
commitf881e4543a99c455fab0faf59d0e103ef32c8113 (patch)
tree7b51a14d883fab98c46e69208e65162d3ed04929 /sys/dev
parentf2c29b61f1863b25b4962bab19cc37d0e3b84121 (diff)
downloadFreeBSD-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
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/usb/umct.c5
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;
}
OpenPOWER on IntegriCloud