From: Nic Chautru <nicolas.chau...@intel.com> Polling of a MMIO register could misreport the actual value set dynamically in hardware as the variable was not set explictly to volatile integer.
Signed-off-by: Nic Chautru <nicolas.chau...@intel.com> --- drivers/baseband/fpga_lte_fec/fpga_lte_fec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c b/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c index 2fc7f11..8bd10b4 100644 --- a/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c +++ b/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c @@ -889,7 +889,7 @@ struct __rte_cache_aligned fpga_queue { * completed. If completion flag is not updated within 1ms it is * considered as a failure. */ - while (!(*((uint8_t *)d->flush_queue_status + q->q_idx) & payload)) { + while (!(*((volatile uint8_t *)d->flush_queue_status + q->q_idx) & payload)) { if (counter > timeout) { rte_bbdev_log(ERR, "FPGA Queue Flush failed for queue %d", queue_id); -- 1.8.3.1