net/mlx5: fix hairpin unbind

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>
This commit is contained in:
Bing Zhao 2020-11-13 15:05:33 +08:00 committed by Ferruh Yigit
parent 6f921f61d4
commit 0746dcabfd

View 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;
}