From 3a76da0ac85ff90280ec612dd444a553a4782f7b Mon Sep 17 00:00:00 2001 From: Shahaf Shuler Date: Wed, 13 Dec 2017 16:03:10 +0200 Subject: [PATCH] net/mlx5: fix VLAN configuration after port stop Ethdev layer has an API to configure vlan setting on the flight, i.e. when the port state is start. Calling such API when the port is stopped may cause segmentation fault as the related Verbs contexts has not been created yet. Fixes: 09cb5b581762 ("net/mlx5: separate DPDK from verbs Rx queue objects") Cc: stable@dpdk.org Signed-off-by: Shahaf Shuler Acked-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_vlan.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/mlx5/mlx5_vlan.c b/drivers/net/mlx5/mlx5_vlan.c index 6fc315ef31..198a69e3c0 100644 --- a/drivers/net/mlx5/mlx5_vlan.c +++ b/drivers/net/mlx5/mlx5_vlan.c @@ -127,6 +127,11 @@ priv_vlan_strip_queue_set(struct priv *priv, uint16_t idx, int on) DEBUG("set VLAN offloads 0x%x for port %d queue %d", vlan_offloads, rxq->port_id, idx); + if (!rxq_ctrl->ibv) { + /* Update related bits in RX queue. */ + rxq->vlan_strip = !!on; + return; + } mod = (struct ibv_wq_attr){ .attr_mask = IBV_WQ_ATTR_FLAGS, .flags_mask = IBV_WQ_FLAGS_CVLAN_STRIPPING, -- 2.20.1