samd/mphalport: Fix USB CDC RX handling to not block when unprocessed. #8520
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
** Draft **
Porting PR #8040 of @hoihu for SAMD, following the commit
5873390.
Issue:
This PR unveils an issue of the port and is made to have a working
example for easily reproducing the fault.
USB locks up almost immediately if charaters at the input arrive too
fast, when they are echoed. That happens for instance in REPL.
This issue is present in the actual master branch as well, but requires
much higher input symbol frequency and is hard to reproce.
Addition:
Temporary add a function mp_hal_time_ns() to please the linker when
built with DEBUG=1.