net/mlx5: fix UAR remap initialization for 32-bit systems

Message ID 1568789651-10949-1-git-send-email-viacheslavo@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Raslan Darawsheh
Headers
Series net/mlx5: fix UAR remap initialization for 32-bit systems |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/iol-dpdk_compile success Compile Testing PASS
ci/iol-dpdk_compile_spdk success Compile Testing PASS
ci/iol-dpdk_compile_ovs success Compile Testing PASS
ci/intel-Performance success Performance Testing PASS
ci/mellanox-Performance success Performance Testing PASS

Commit Message

Slava Ovsiienko Sept. 18, 2019, 6:54 a.m. UTC
  The txq_uar_init() routine uses the uninitialized uar_mmap_offset
field in 32-bit configurations due to this field is initialized
after txq_uar_init() call.

Fixes: 120dc4a7dcd3 ("net/mlx5: remove device register remap")

Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
---
 drivers/net/mlx5/mlx5_txq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Matan Azrad Sept. 22, 2019, 7:01 a.m. UTC | #1
From: Viacheslav Ovsiienko
> The txq_uar_init() routine uses the uninitialized uar_mmap_offset field in
> 32-bit configurations due to this field is initialized after txq_uar_init() call.
> 
> Fixes: 120dc4a7dcd3 ("net/mlx5: remove device register remap")
> 
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
  
Raslan Darawsheh Sept. 29, 2019, 8:44 a.m. UTC | #2
Hi,
> -----Original Message-----
> From: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
> Sent: Wednesday, September 18, 2019 9:54 AM
> To: dev@dpdk.org
> Cc: Matan Azrad <matan@mellanox.com>; Raslan Darawsheh
> <rasland@mellanox.com>
> Subject: [PATCH] net/mlx5: fix UAR remap initialization for 32-bit systems
> 
> The txq_uar_init() routine uses the uninitialized uar_mmap_offset field in
> 32-bit configurations due to this field is initialized after txq_uar_init() call.
> 
> Fixes: 120dc4a7dcd3 ("net/mlx5: remove device register remap")
> 
> Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>


Patch merged to next-net-mlx,

Kindest regards,
Raslan Darawsheh
  

Patch

diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index 81f3b40..2b7d6c0 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -572,7 +572,6 @@  struct mlx5_txq_ibv *
 	txq_ibv->cq = tmpl.cq;
 	rte_atomic32_inc(&txq_ibv->refcnt);
 	txq_ctrl->bf_reg = qp.bf.reg;
-	txq_uar_init(txq_ctrl);
 	if (qp.comp_mask & MLX5DV_QP_MASK_UAR_MMAP_OFFSET) {
 		txq_ctrl->uar_mmap_offset = qp.uar_mmap_offset;
 		DRV_LOG(DEBUG, "port %u: uar_mmap_offset 0x%"PRIx64,
@@ -585,6 +584,7 @@  struct mlx5_txq_ibv *
 		rte_errno = EINVAL;
 		goto error;
 	}
+	txq_uar_init(txq_ctrl);
 	LIST_INSERT_HEAD(&priv->txqsibv, txq_ibv, next);
 	txq_ibv->txq_ctrl = txq_ctrl;
 	priv->verbs_alloc_ctx.type = MLX5_VERBS_ALLOC_TYPE_NONE;