Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Mar 2020 08:16:14 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r358872 - head/sys/dev/usb/input
Message-ID:  <202003110816.02B8GE6R058470@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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,
 	},
 };



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003110816.02B8GE6R058470>