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

Reply via email to