]> git.droids-corp.org - dpdk.git/commitdiff
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 46e4191bfa151f8abbac53d859b70ce037839f68..bd029154f87313277427462a396e6d66f19f88cd 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;
 }