Re: [PATCH 1/2 v2] HID: magicmouse: Removing report_touches switch

From: Henrik Rydberg
Date: Wed Jul 04 2012 - 14:41:47 EST


> The input events stop coming when I have more than four fingers on the
> pad, but they start again if I remove the excess fingers. As if the
> transport layer chokes on messages longer than some value...

Yep, that's it. On my system, something sets the L2CAP MTU to a
whopping 48 bytes, and the code below, from l2cap_core.c,

switch (chan->mode) {
case L2CAP_MODE_BASIC:
/* If socket recv buffers overflows we drop data here
* which is *bad* because L2CAP has to be reliable.
* But we don't have any other choice. L2CAP doesn't
* provide flow control mechanism. */

if (chan->imtu < skb->len)
goto drop;

silently ignores packets larger than that value. Duh.

Henrik
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/