when "TAILQ_INIT()" was added to the loop of "for (lcore_id = 0; ...)" statement, the assignment to "lcore_ids" was removed out of the loop. It changed the original initialization of "lcore_ids".
Fix it by introducing two braces. Fixes: 45657a5c6861 ("examples/vhost: use tailq to link vhost devices") Signed-off-by: Yong Wang <wang.yon...@zte.com.cn> --- examples/vhost/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/vhost/main.c b/examples/vhost/main.c index ac1f6e2..128a498 100644 --- a/examples/vhost/main.c +++ b/examples/vhost/main.c @@ -1436,11 +1436,12 @@ static inline void __attribute__((always_inline)) if (ret < 0) rte_exit(EXIT_FAILURE, "Invalid argument\n"); - for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id ++) + for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id ++) { TAILQ_INIT(&lcore_info[lcore_id].vdev_list); if (rte_lcore_is_enabled(lcore_id)) lcore_ids[core_id ++] = lcore_id; + } if (rte_lcore_count() > RTE_MAX_LCORE) rte_exit(EXIT_FAILURE,"Not enough cores\n"); -- 1.8.3.1