dcd_eptri: Fix rx_buffer/tx_buffer volatile annotation

This makes `rx_buffer` and `tx_buffer` *pointers*
volatile in order to avoid caching them in a register.

The original notation meant "a pointer to a volatile value"
(equivalent of `volatile uint8_t *`). This resulted in
`while(rx_buffer[ep_num] != NULL) ;` loop to get stuck
forever, even though the IRQ handler set the `rx_buffer[ep_num] = NULL`.
This commit is contained in:
Mateusz Holenko 2020-01-14 13:37:45 +01:00
parent 679821e917
commit c1781e5e7c
1 changed files with 2 additions and 2 deletions

View File

@ -75,13 +75,13 @@ uint8_t queue_log_offset;
#define EP_SIZE 64
uint16_t volatile rx_buffer_offset[16];
uint8_t volatile * rx_buffer[16];
uint8_t* volatile rx_buffer[16];
uint16_t volatile rx_buffer_max[16];
volatile uint8_t tx_ep;
volatile bool tx_active;
volatile uint16_t tx_buffer_offset[16];
uint8_t volatile * tx_buffer[16];
uint8_t* volatile tx_buffer[16];
volatile uint16_t tx_buffer_max[16];
volatile uint8_t reset_count;