svn commit: r358872 - head/sys/dev/usb/input
Hans Petter Selasky
hselasky at FreeBSD.org
Wed Mar 11 08:16:16 UTC 2020
Author: hselasky
Date: Wed Mar 11 08:16:13 2020
New Revision: 358872
URL: https://svnweb.freebsd.org/changeset/base/358872
Log:
If the USB frame length is set to 1024 bytes, WMT_BSIZE, the EETI controller
will pack multiple touch events in the packet and the current code will only
process the first touch event.
As a result some important events are lost like releasing the finger from the
touchscreen.
Use the maximum maximum packet size as buffer size instead.
Submitted by: Oskar Holmlund <oskar.holmlund at ohdata.se>
PR: 244718
MFC after: 3 days
Sponsored by: Mellanox Technologies
Modified:
head/sys/dev/usb/input/wmt.c
Modified: head/sys/dev/usb/input/wmt.c
==============================================================================
--- head/sys/dev/usb/input/wmt.c Wed Mar 11 08:08:53 2020 (r358871)
+++ head/sys/dev/usb/input/wmt.c Wed Mar 11 08:16:13 2020 (r358872)
@@ -251,7 +251,7 @@ static const struct usb_config wmt_config[WMT_N_TRANSF
.endpoint = UE_ADDR_ANY,
.direction = UE_DIR_IN,
.flags = { .pipe_bof = 1, .short_xfer_ok = 1 },
- .bufsize = WMT_BSIZE,
+ .bufsize = 0, /* use wMaxPacketSize */
.callback = &wmt_intr_callback,
},
};
More information about the svn-src-head
mailing list