[dpdk-stable] [PATCH] eal: fixup hotplugging an already present device

Darek Stojaczyk dariusz.stojaczyk at intel.com
Thu Oct 25 12:51:01 CEST 2018


We were returning rc = -1 from a device probing function
whenever the provided device was already probed before.

This basically broke hotplugging a device in secondary
process when the same device was already hotplugged in
the primary.

To fix it, just return 0 instead of -1. I believe this is
the originally intented behavior.

Fixes: e9d159c3d534 ("eal: allow probing a device again")
Cc: thomas at monjalon.net
Cc: stable at dpdk.org

Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk at intel.com>
---
 lib/librte_eal/common/eal_common_dev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
index 6ac3ee859..75b83418c 100644
--- a/lib/librte_eal/common/eal_common_dev.c
+++ b/lib/librte_eal/common/eal_common_dev.c
@@ -222,7 +222,7 @@ local_dev_probe(const char *devargs, struct rte_device **new_dev)
 	ret = dev->bus->plug(dev);
 	if (ret) {
 		if (rte_dev_is_probed(dev)) /* if already succeeded earlier */
-			return ret; /* no rollback */
+			return 0; /* no rollback */
 		RTE_LOG(ERR, EAL, "Driver cannot attach the device (%s)\n",
 			dev->name);
 		goto err_devarg;
-- 
2.17.1



More information about the stable mailing list