[dpdk-stable] [PATCH v2 2/2] baseband/fpga_lte_fec: fix to polling of MMIO register

Nicolas Chautru nicolas.chautru at intel.com
Tue Oct 22 15:16:17 CEST 2019


From: Nic Chautru <nicolas.chautru at intel.com>

Polling of a MMIO register could misreport the actual value
set dynamically in hardware as the variable was not set explicitly
to volatile integer.

Fixes: efd453698c49 ("baseband/fpga_lte_fec: add driver for FEC on FPGA")
Cc: nicolas.chautru at intel.com
Cc: stable at dpdk.org

Signed-off-by: Nic Chautru <nicolas.chautru at 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



More information about the stable mailing list