net/mlx4: fix Tx doorbell register unmap
If rdma-core library doesn't support remapping UAR registers, the register
shouldn't be unmapped on device stop.
Fixes: 0203d33a10
("net/mlx4: support secondary process")
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
This commit is contained in:
parent
bbda883ca0
commit
b27669d691
@ -314,8 +314,10 @@ static void
|
||||
mlx4_dev_stop(struct rte_eth_dev *dev)
|
||||
{
|
||||
struct mlx4_priv *priv = dev->data->dev_private;
|
||||
#ifdef HAVE_IBV_MLX4_UAR_MMAP_OFFSET
|
||||
const size_t page_size = sysconf(_SC_PAGESIZE);
|
||||
int i;
|
||||
#endif
|
||||
|
||||
if (!priv->started)
|
||||
return;
|
||||
@ -329,6 +331,7 @@ mlx4_dev_stop(struct rte_eth_dev *dev)
|
||||
mlx4_flow_sync(priv, NULL);
|
||||
mlx4_rxq_intr_disable(priv);
|
||||
mlx4_rss_deinit(priv);
|
||||
#ifdef HAVE_IBV_MLX4_UAR_MMAP_OFFSET
|
||||
for (i = 0; i != dev->data->nb_tx_queues; ++i) {
|
||||
struct txq *txq;
|
||||
|
||||
@ -338,6 +341,7 @@ mlx4_dev_stop(struct rte_eth_dev *dev)
|
||||
munmap((void *)RTE_ALIGN_FLOOR((uintptr_t)txq->msq.db,
|
||||
page_size), page_size);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user