Thread (7 messages) 7 messages, 3 authors, 2017-08-30
STALE3255d

[PATCH] net/failsafe: fix failsafe bus uninit return value

From: Raslan Darawsheh <hidden>
Date: 2017-08-29 07:51:41
Subsystem: networking drivers, the rest · Maintainers: Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

fs_bus_uninit is always returning 0 no matter what was the status
of each sub device bus_uninit value.

Will now return the first sub device fail value in case it fails.

Fixes: a46f8d58 ("net/failsafe: add fail-safe PMD")

Signed-off-by: Raslan Darawsheh <redacted>
---
 drivers/net/failsafe/failsafe_eal.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/net/failsafe/failsafe_eal.c b/drivers/net/failsafe/failsafe_eal.c
index c8f4318..4295347 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 ret = 0, sdev_ret;
 
 	FOREACH_SUBDEV_STATE(sdev, i, dev, DEV_PROBED) {
-		ret = rte_eal_hotplug_remove(sdev->bus->name,
+		sdev_ret = rte_eal_hotplug_remove(sdev->bus->name,
 					     sdev->dev->name);
-		if (ret) {
+		if (sdev_ret) {
 			ERROR("Failed to remove requested device %s",
 			      sdev->dev->name);
+			ret = (ret ? ret : sdev_ret);
 			continue;
 		}
 		sdev->state = DEV_PROBED - 1;
 	}
-	return 0;
+	return ret;
 }
 
 int
-- 
2.7.4
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help