ethdev: fix close failure handling

If a failure happens when closing a port,
it was unnecessarily failing again in the function eth_err(),
because of a check against HW removal cause.
Indeed there is a big chance the port is released at this point.
Given the port is in the middle (or at the end) of a close process,
checking the error cause by accessing the port is a non-sense.
The error check is replaced by a simple return in the close function.

Bugzilla ID: 624
Fixes: 8a5a0aad5d3e ("ethdev: allow close function to return an error")
Cc: stable@dpdk.org

Reported-by: Anatoly Burakov <anatoly.burakov@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Tested-by: Anatoly Burakov <anatoly.burakov@intel.com>
This commit is contained in:
Thomas Monjalon 2021-01-22 18:58:04 +01:00 committed by Ferruh Yigit
parent 8a6930361b
commit a6f34f9100

View File

@ -1820,7 +1820,7 @@ rte_eth_dev_close(uint16_t port_id)
rte_ethdev_trace_close(port_id); rte_ethdev_trace_close(port_id);
*lasterr = rte_eth_dev_release_port(dev); *lasterr = rte_eth_dev_release_port(dev);
return eth_err(port_id, firsterr); return firsterr;
} }
int int