Hi, I stumbled across something that might be an unwanted behavior. The length argument of the called out function is always the buffer size. I think the length argument should contain only the length of actual valid data. For example the ep0_consume function currently reports ghost events since it tries to decode the full buffer length and not only the received bytes. ~Matthias diff --git a/tools/usb/ffs-test.c b/tools/usb/ffs-test.c index 4b107b5..8674b9e 100644 --- a/tools/usb/ffs-test.c +++ b/tools/usb/ffs-test.c @@ -297,7 +297,7 @@ static void *start_thread_helper(void *arg) ret = t->in(t, t->buf, t->buf_size); if (ret > 0) { - ret = t->out(t, t->buf, t->buf_size); + ret = t->out(t, t->buf, ret); name = out_name; op = "write"; } else { -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html