UART2 configured for return PARTIAL mode and callback mode.
If the UART2's internal ringBuffer reaches a point where the pHead of the ringBuffer is pointing to the last element and the keyboard is pressed. The ringBuffer will then wrap the input around to the front of the ringBuffer. The ringBuffer contents are populated perfectly fine. However, the UART2 driver logic does not handle this condition correctly.
When this condition occurs, the UART2 driver will call the application callback providing the first byte in the sequence only. Then it will quickly call the application callback a second time providing the remainder of the sequence. This is not the expected behavior and this does not match the behavior of blocking/nonblocking mode. We would expect the UART2 driver to make a single application callback which contains the entire 3 byte sequence as it was received in the ringbuffer already at the time of execution.