From 59eaec5dd6b058aad3fb5d2d33f99d7ea6653056 Mon Sep 17 00:00:00 2001 From: George Hotz Date: Fri, 14 Jun 2019 13:22:33 -0700 Subject: [PATCH] add volatiles to the ring buffer pointers --- board/drivers/can.h | 4 ++-- board/drivers/uart.h | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/board/drivers/can.h b/board/drivers/can.h index 950e8f9e..195593a8 100644 --- a/board/drivers/can.h +++ b/board/drivers/can.h @@ -3,8 +3,8 @@ // CAN3_TX, CAN3_RX0, CAN3_SCE typedef struct { - uint32_t w_ptr; - uint32_t r_ptr; + volatile uint32_t w_ptr; + volatile uint32_t r_ptr; uint32_t fifo_size; CAN_FIFOMailBox_TypeDef *elems; } can_ring; diff --git a/board/drivers/uart.h b/board/drivers/uart.h index baba42e3..4ae4287e 100644 --- a/board/drivers/uart.h +++ b/board/drivers/uart.h @@ -2,11 +2,11 @@ #define FIFO_SIZE 0x400 typedef struct uart_ring { - uint16_t w_ptr_tx; - uint16_t r_ptr_tx; + volatile uint16_t w_ptr_tx; + volatile uint16_t r_ptr_tx; uint8_t elems_tx[FIFO_SIZE]; - uint16_t w_ptr_rx; - uint16_t r_ptr_rx; + volatile uint16_t w_ptr_rx; + volatile uint16_t r_ptr_rx; uint8_t elems_rx[FIFO_SIZE]; USART_TypeDef *uart; void (*callback)(struct uart_ring*);