src/dpdk/drivers/net/mlx4/mlx4.c
static int
mlx4_pci_remove(struct rte_pci_device *pci_dev)
{
	uint16_t port_id;
	int ret = 0;

	RTE_ETH_FOREACH_DEV_OF(port_id, &pci_dev->device) {
		/*
		 * mlx4_dev_close() is not registered to secondary process,
		 * call the close function explicitly for secondary process.
		 */
		if (rte_eal_process_type() == RTE_PROC_SECONDARY)
			ret |= mlx4_dev_close(&rte_eth_devices[port_id]);
		else
			ret |= rte_eth_dev_close(port_id);
	}
	return ret == 0 ? 0 : -EIO;
}
/**
 * DPDK callback to remove a PCI device.
 *
 * This function removes all Ethernet devices belong to a given PCI device.
 *
 * @param[in] pci_dev
 *   Pointer to the PCI device.
 *
 * @return
 *   0 on success, the function cannot fail.
 */
DPDK callback to remove a PCI device.
This function removes all Ethernet devices belong to a given PCI device.

@param[in] pci_dev
Pointer to the PCI device.

@return
0 on success, the function cannot fail.
DPDK callback to remove a PCI device . This function removes all Ethernet devices belong to a given PCI device . @param [ in ] pci_dev Pointer to the PCI device . @return 0 on success the function cannot fail .
static int
mlx4_pci_remove(struct rte_pci_device *pci_dev)
{
	uint16_t port_id;
	int ret = 0;
	RTE_ETH_FOREACH_DEV_OF(port_id, &pci_dev->device) {
		if (rte_eal_process_type() == RTE_PROC_SECONDARY)
			ret |= mlx4_dev_close(&rte_eth_devices[port_id]);
		else
			ret |= rte_eth_dev_close(port_id);
	}
	return ret == 0 ? 0 : -EIO;
}
static int mlx4_pci_remove ( struct rte_pci_device * pci_dev ) { uint16_t port_id ; int ret = 0 ; RTE_ETH_FOREACH_DEV_OF ( port_id , & pci_dev -> device ) { if ( rte_eal_process_type ( ) == RTE_PROC_SECONDARY ) ret |= mlx4_dev_close ( & rte_eth_devices [ port_id ] ) ; else ret |= rte_eth_dev_close ( port_id ) ; } return ret == 0 ? 0 : - EIO ; }
DPDK callback to remove a PCI device.
DPDK callback to remove a PCI device .
/*
		 * mlx4_dev_close() is not registered to secondary process,
		 * call the close function explicitly for secondary process.
		 */