baseband/fpga_lte_fec: fix polling of MMIO register
authorNicolas Chautru <nicolas.chautru@intel.com>
Tue, 22 Oct 2019 13:16:17 +0000 (06:16 -0700)
committerAkhil Goyal <akhil.goyal@nxp.com>
Wed, 23 Oct 2019 14:57:06 +0000 (16:57 +0200)
Polling of 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: stable@dpdk.org
Signed-off-by: Nicolas Chautru <nicolas.chautru@intel.com>
drivers/baseband/fpga_lte_fec/fpga_lte_fec.c

index 2fc7f11..8bd10b4 100644 (file)
@@ -889,7 +889,7 @@ fpga_queue_stop(struct rte_bbdev *dev, uint16_t queue_id)
         * 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);