net/mlx5: fix hairpin unbind
authorBing Zhao <bingz@nvidia.com>
Fri, 13 Nov 2020 07:05:33 +0000 (15:05 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 13 Nov 2020 22:36:14 +0000 (23:36 +0100)
In the implementation of mlx5_hairpin_unbind, a copy-paste error was
inside. If a single peer Rx port needed to be unbound, it would be
bound again by mistake.

All the hardware resources were released when stopping the device and
no mess of the configuration was introduced. But when trying to unbind
the ports again, the issue would appear.

The typo of the function call is fixed. If there is no hairpin queue
bound between two ports, the unbinding process should be considered
successful.

Fixes: 37cd4501e873 ("net/mlx5: support two ports hairpin mode")

Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/net/mlx5/mlx5_trigger.c

index 46e4191..bd02915 100644 (file)
@@ -934,7 +934,7 @@ mlx5_hairpin_unbind(struct rte_eth_dev *dev, uint16_t rx_port)
                                return ret;
                }
        else
-               ret = mlx5_hairpin_bind_single_port(dev, rx_port);
+               ret = mlx5_hairpin_unbind_single_port(dev, rx_port);
        return ret;
 }