From: Raslan Darawsheh Date: Tue, 29 Aug 2017 09:08:08 +0000 (+0300) Subject: net/failsafe: fix failsafe bus uninit return value X-Git-Tag: spdx-start~2082 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=6969a22bf6ee18d8f34990688194aef4bad3a19c;p=dpdk.git net/failsafe: fix failsafe bus uninit return value fs_bus_uninit is always returning 0 no matter what was the status of each sub device bus_uninit value. Fixes: a46f8d584eb8 ("net/failsafe: add fail-safe PMD") Cc: stable@dpdk.org Signed-off-by: Raslan Darawsheh Acked-by: Gaetan Rivet --- diff --git a/drivers/net/failsafe/failsafe_eal.c b/drivers/net/failsafe/failsafe_eal.c index c8f4318e17..aeb87a039b 100644 --- a/drivers/net/failsafe/failsafe_eal.c +++ b/drivers/net/failsafe/failsafe_eal.c @@ -90,19 +90,20 @@ 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 (err: %d)", + sdev->dev->name, sdev_ret); continue; } sdev->state = DEV_PROBED - 1; } - return 0; + return ret; } int @@ -111,8 +112,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; }