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.holml...@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,
        },
 };
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to