The iterator function rte_eth_find_next_owned_by(), used by the iterator macro RTE_ETH_FOREACH_DEV_OWNED_BY, are ignoring the devices which are neither ATTACHED nor REMOVED. Thus sub-devices, having the state DEFERRED, cannot be seen with the ethdev iterator. The state RTE_ETH_DEV_DEFERRED can be replaced by RTE_ETH_DEV_ATTACHED + owner.
Fixes: dcd0c9c32b8d ("net/failsafe: use ownership mechanism for slaves") Cc: sta...@dpdk.org Signed-off-by: Thomas Monjalon <tho...@monjalon.net> Acked-by: Matan Azrad <ma...@mellanox.com> Acked-by: Gaetan Rivet <gaetan.ri...@6wind.com> Reviewed-by: Andrew Rybchenko <arybche...@solarflare.com> Reviewed-by: Stephen Hemminger <step...@networkplumber.org> --- drivers/net/failsafe/failsafe_eal.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/failsafe/failsafe_eal.c b/drivers/net/failsafe/failsafe_eal.c index ee89236f1..ce767703f 100644 --- a/drivers/net/failsafe/failsafe_eal.c +++ b/drivers/net/failsafe/failsafe_eal.c @@ -98,7 +98,6 @@ fs_bus_init(struct rte_eth_dev *dev) SUB_ID(sdev) = i; sdev->fs_dev = dev; sdev->dev = ETH(sdev)->device; - ETH(sdev)->state = RTE_ETH_DEV_DEFERRED; sdev->state = DEV_PROBED; } return 0; -- 2.16.2