eal: do not panic on PCI failures
authorAaron Conole <aconole@redhat.com>
Wed, 22 Mar 2017 20:19:37 +0000 (16:19 -0400)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Mon, 27 Mar 2017 13:58:00 +0000 (15:58 +0200)
commit10f6c93cea38e3d77e3149f1183dd2c2bd934cbc
tree36ac130097761120c3e4aec18f1b89f8b877d8e1
parent4fe1d33987570ef3c79225ee53954b9a8a4a65c0
eal: do not panic on PCI failures

Some devices may be inaccessible for a variety of reasons, or the
PCI-bus may be unavailable causing the whole thing to fail.  Still,
better to continue attempts at probes.

Since PCI isn't neccessarily required, it may be possible to simply log
the error and continue on letting the user check the logs and restart
the application when things have failed.

This will usually be an issue because of permissions.  However, it could
also be caused by OOM.  In either case, errno will contain the
underlying cause.

For linux, it is safe to re-init the system here, so allow the
application to take corrective action and reinit.

For BSD, this is not the case, for other reasons, including hugepage
allocation has already happened, and needs to be properly uninitialized.

Signed-off-by: Aaron Conole <aconole@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_eal/bsdapp/eal/eal.c
lib/librte_eal/common/eal_common_pci.c
lib/librte_eal/linuxapp/eal/eal.c