[dpdk-dev] [PATCH 1/3] ethdev: rework value return by rte_eth_dev_is_detachable

David Marchand david.marchand at 6wind.com
Thu Oct 29 09:55:01 CET 2015


From: Maxime Leroy <maxime.leroy at 6wind.com>

The rte_eth_dev_is_detachable return 0 when the device is detachable.
It not, it returns a negative value or 1.

This patch modifies this function to return 1 when the device is detachable
and 0 when is not.

Signed-off-by: Maxime Leroy <maxime.leroy at 6wind.com>
Signed-off-by: David Marchand <david.marchand at 6wind.com>
---
 lib/librte_ether/rte_ethdev.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index f593f6e..396667c 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -507,7 +507,7 @@ rte_eth_dev_is_detachable(uint8_t port_id)
 
 	if (!rte_eth_dev_is_valid_port(port_id)) {
 		PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id);
-		return -EINVAL;
+		return 0;
 	}
 
 	if (rte_eth_devices[port_id].dev_type == RTE_ETH_DEV_PCI) {
@@ -518,12 +518,12 @@ rte_eth_dev_is_detachable(uint8_t port_id)
 			break;
 		case RTE_KDRV_VFIO:
 		default:
-			return -ENOTSUP;
+			return 0;
 		}
 	}
 
 	drv_flags = rte_eth_devices[port_id].driver->pci_drv.drv_flags;
-	return !(drv_flags & RTE_PCI_DRV_DETACHABLE);
+	return drv_flags & RTE_PCI_DRV_DETACHABLE;
 }
 
 /* attach the new physical device, then store port_id of the device */
@@ -571,7 +571,7 @@ rte_eth_dev_detach_pdev(uint8_t port_id, struct rte_pci_addr *addr)
 		goto err;
 
 	/* check whether the driver supports detach feature, or not */
-	if (rte_eth_dev_is_detachable(port_id))
+	if (!rte_eth_dev_is_detachable(port_id))
 		goto err;
 
 	/* get pci address by port id */
@@ -648,7 +648,7 @@ rte_eth_dev_detach_vdev(uint8_t port_id, char *vdevname)
 		goto err;
 
 	/* check whether the driver supports detach feature, or not */
-	if (rte_eth_dev_is_detachable(port_id))
+	if (!rte_eth_dev_is_detachable(port_id))
 		goto err;
 
 	/* get device name by port id */
-- 
1.9.1



More information about the dev mailing list