Files
simtrace2/firmware/libcommon/source/sniffer.c
Harald Welte 67a6d5724c firmware/sniffer: Handle WT timeouts via ring-buffer
Before this patch, all UART characters went through a fifo/ringbuffer
of depth 512, while events like timeout were delivered directly via
a global flags variable from ISR to main code.  This means that one or
more correct/complete TPDUs could theoretically still be in the FIFO,
but the "Fast path" of the timeout handling is pre-empting that and
messing with the state machines.

All events from the UART should be delivered via the ring-buffer to make
sure they arrive in order at the main function.

The old "report timeout via change flags in separate USB message" code
is left in place.  On the USB protocol we should keep it for
compatibility.  Internally we should probably also migrate that over
to the new ring-buffer method in a second step.

Change-Id: I4434c6fcd59d1a425e9ded734bbc8b0411a0a0d8
2022-11-19 09:02:23 +00:00

38 KiB