diff options
author | Harald Welte <laforge@osmocom.org> | 2020-01-16 23:20:48 +0100 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2022-03-03 19:06:12 +0100 |
commit | 050b9dde68751940b13dd8f631bf7164b6cadaf5 (patch) | |
tree | 992c3bb64ac3a1cd07f725b653bb91e84585d6af /firmware/Makefile | |
parent | f1a0ed905b6056f187c0130086faa4e088a9c47b (diff) |
HACK: Solve weird problem with lost OUT transfer on ping-pong endpointlaforge/202201
This adds an unconditional endpoint reset procedure to every SET_FEATURE(UnHalt).
It doesn't really make sense that this is required, *particularly* as
we *MUST NOT* set bEndpoint->bank to 0 here.
Without this patch, I'm observing the following problem:
Every first OUT transfer after a SET_INTERFACE + UNHALT on a bulk endpoint
is lost. "lost" means that it completes successfully on the host, can
be seen completing successfully with an ACK on a USB bus analyzer,
but still doesn't show up in the firmware. No Endpoint Interrupt
is generated.
This can be reproduced by calling libusb_set_interface_alt_setting()
from the host and then submitting a single OUT transfer.
Change-Id: I18ed530e617baddf76e8f9829512443ce2a76e0d
Diffstat (limited to 'firmware/Makefile')
0 files changed, 0 insertions, 0 deletions