Re: [PATCH v2] net/failsafe: fix failsafe bus uninit return value
From: Gaëtan Rivet <hidden>
Date: 2017-08-29 09:02:21
On Tue, Aug 29, 2017 at 11:55:45AM +0300, Raslan Darawsheh wrote:
quoted hunk ↗ jump to hunk
fs_bus_uninit is always returning 0 no matter what was the status of each sub device bus_uninit value. Fixes: a46f8d58 ("net/failsafe: add fail-safe PMD") Signed-off-by: Raslan Darawsheh <redacted> --- drivers/net/failsafe/failsafe_eal.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)diff --git a/drivers/net/failsafe/failsafe_eal.c b/drivers/net/failsafe/failsafe_eal.c index c8f4318..f6e44ca 100644 --- a/drivers/net/failsafe/failsafe_eal.c +++ b/drivers/net/failsafe/failsafe_eal.c@@ -90,19 +90,21 @@ fs_bus_uninit(struct rte_eth_dev *dev) { struct sub_device *sdev = NULL; uint8_t i; - int ret; + int sdev_ret; + int ret = 0; FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_PROBED) { - ret = rte_eal_hotplug_remove(sdev->bus->name, - sdev->dev->name); - if (ret) { - ERROR("Failed to remove requested device %s", - sdev->dev->name); + sdev_ret = rte_eal_hotplug_remove(sdev->bus->name, + sdev->dev->name); + if (sdev_ret) { + ERROR("Failed to remove requested device %s" + "(errno: %d)", sdev->dev->name, sdev_ret);
The error string should be on one line to help grepping the issue.
The code displayed is not errno, it should not be named as such.
+ ERROR("Failed to remove requested device %s (%d)",
+ sdev->dev->name, sdev_ret);
quoted hunk ↗ jump to hunk
+ ret = -1; continue; } sdev->state = DEV_PROBED - 1; } - return 0; + return ret; } int@@ -111,8 +113,6 @@ failsafe_eal_uninit(struct rte_eth_dev *dev) int ret; ret = fs_bus_uninit(dev); - if (ret) - return ret; PRIV(dev)->state = DEV_PROBED - 1; - return 0; + return ret; }-- 2.7.4
Otherwise, Acked-by: Gaetan Rivet <redacted> -- Gaëtan Rivet 6WIND