When insert devargs that already in list, existing one was reset and replaced completely by new once, the entry info was lost during copy.
This patch backups entry info before copy. Fixes: 64051bb1f144 ("devargs: unify scratch buffer storage") Signed-off-by: Xueming Li <xuemi...@nvidia.com> --- lib/librte_eal/common/eal_common_devargs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c index e40b91ea66..96e0456d20 100644 --- a/lib/librte_eal/common/eal_common_devargs.c +++ b/lib/librte_eal/common/eal_common_devargs.c @@ -295,6 +295,7 @@ rte_devargs_insert(struct rte_devargs **da) if (strcmp(listed_da->bus->name, (*da)->bus->name) == 0 && strcmp(listed_da->name, (*da)->name) == 0) { /* device already in devargs list, must be updated */ + (*da)->next = listed_da->next; rte_devargs_reset(listed_da); *listed_da = **da; /* replace provided devargs with found one */ -- 2.25.1