Fix USB buffer description table corruption #72
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.
CCID_ENDP0_RXADDR was set to 0x18, so 64 bytes incoming buffers were written from
0x18 to 0x57 in the packet memory area (PMA).
This area contained the USB buffer description table (BTABLE) entry for
endpoint 4 (0x20 to 0x5F), defining its buffer address to 0x19C.
Data sent to the host with endpoint 4 was not the buffer located at the
defined address (0x19C) but some other data from the PMA, depending on
how the BTABLE was corrupted.
It can be reproduced in the main loop like so:
When looking at usb traffic with Wireshark, the received data on endpoint 4 receives some data other than 01234567.