eal: do not panic on vdev init failure

Even if one vdev should fail, there's no need to prevent further
processing.  Log the error, and reflect it to the higher levels to
decide.

Seems like it's possible to continue.  At least, the error is reflected
properly in the logs.  A user could then go and correct or investigate
the situation.

Signed-off-by: Aaron Conole <aconole@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
Aaron Conole 2017-03-22 16:19:38 -04:00 committed by Thomas Monjalon
parent 10f6c93cea
commit e2c0413f2d
3 changed files with 5 additions and 4 deletions

View File

@ -671,7 +671,7 @@ rte_eal_init(int argc, char **argv)
}
if (rte_eal_dev_init() < 0)
rte_panic("Cannot init pmd devices\n");
rte_eal_init_alert("Cannot init pmd devices\n");
rte_eal_mcfg_complete();

View File

@ -80,6 +80,7 @@ int
rte_eal_dev_init(void)
{
struct rte_devargs *devargs;
int ret = 0;
/*
* Note that the dev_driver_list is populated here
@ -97,11 +98,11 @@ rte_eal_dev_init(void)
devargs->args)) {
RTE_LOG(ERR, EAL, "failed to initialize %s device\n",
devargs->virt.drv_name);
return -1;
ret = -1;
}
}
return 0;
return ret;
}
int rte_eal_dev_attach(const char *name, const char *devargs)

View File

@ -950,7 +950,7 @@ rte_eal_init(int argc, char **argv)
}
if (rte_eal_dev_init() < 0)
rte_panic("Cannot init pmd devices\n");
rte_eal_init_alert("Cannot init pmd devices\n");
rte_eal_mcfg_complete();