diff options
| author | Jerzy Kasenberg <[email protected]> | 2022-09-13 08:10:58 +0200 |
|---|---|---|
| committer | Jerzy Kasenberg <[email protected]> | 2022-09-13 08:11:56 +0200 |
| commit | 3133cacc6ab699244617039462f5c3870e16d835 (patch) | |
| tree | a905947bf3e7a92c9f203ea1d0cd37b4d00f21be /src | |
| parent | 639341238035612d7e73a3a9ab8990dcbdda0b02 (diff) | |
nrf5x: Fix reception of large ISO packets
ISO packet size is up to 1023 for full speed device.
Upon completion of ISO reception, reported length of incoming packet
was truncated to one byte only.
This results in incorrect data stream for higher bit rates
48 samples * 4 bytes per sample * 2 channels = 384 bytes of data
and 128 was reported.
There is no change in logic extending xact_len to uint16_t fixes the issue.
Diffstat (limited to 'src')
| -rw-r--r-- | src/portable/nordic/nrf5x/dcd_nrf5x.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/portable/nordic/nrf5x/dcd_nrf5x.c b/src/portable/nordic/nrf5x/dcd_nrf5x.c index f213e9f9f..ca37d799f 100644 --- a/src/portable/nordic/nrf5x/dcd_nrf5x.c +++ b/src/portable/nordic/nrf5x/dcd_nrf5x.c @@ -765,7 +765,7 @@ void dcd_int_handler(uint8_t rhport) if ( tu_bit_test(int_status, USBD_INTEN_ENDEPOUT0_Pos+epnum)) { xfer_td_t* xfer = get_td(epnum, TUSB_DIR_OUT); - uint8_t const xact_len = NRF_USBD->EPOUT[epnum].AMOUNT; + uint16_t const xact_len = NRF_USBD->EPOUT[epnum].AMOUNT; xfer->buffer += xact_len; xfer->actual_len += xact_len; |
