Selaa lähdekoodia

valentyusb: eptri: don't double-advance read buffer

Due to an error, we were double-advancing the FIFO buffer.  The end
result was that the second half of most reads were getting ignored.

This wasn't found during earlier testing because only 64-byte buffers
were tested.

This corrects this error by avoiding double-advancing the buffer.

Signed-off-by: Sean Cross <sean@xobs.io>
Sean Cross 6 vuotta sitten
vanhempi
sitoutus
26dcc19b18
1 muutettua tiedostoa jossa 1 lisäystä ja 1 poistoa
  1. 1 1
      src/portable/valentyusb/eptri/dcd_eptri.c

+ 1 - 1
src/portable/valentyusb/eptri/dcd_eptri.c

@@ -226,7 +226,7 @@ static void process_rx(void) {
     test_buffer[total_read] = c;
 #endif
     total_read++;
-    if ((rx_buffer_offset[rx_ep] + current_offset) < rx_buffer_max[rx_ep]) {
+    if (current_offset < rx_buffer_max[rx_ep]) {
 #if LOG_USB
       usb_log[usb_log_offset].data[usb_log[usb_log_offset].size++] = c;
 #endif