[dpdk-dev] [PATCH v4 11/26] eal: Do not panic on pci-probe
Aaron Conole
aconole at redhat.com
Sat Feb 25 17:02:54 CET 2017
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. It is safe to re-init the system here, so allow the
application to take corrective action and reinit.
Signed-off-by: Aaron Conole <aconole at redhat.com>
---
lib/librte_eal/linuxapp/eal/eal.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c
index 25f8ae8..5534b4b 100644
--- a/lib/librte_eal/linuxapp/eal/eal.c
+++ b/lib/librte_eal/linuxapp/eal/eal.c
@@ -831,8 +831,12 @@ rte_eal_init(int argc, char **argv)
return -1;
}
- if (rte_eal_pci_init() < 0)
- rte_panic("Cannot init PCI\n");
+ if (rte_eal_pci_init() < 0) {
+ RTE_LOG(ERR, EAL, "Cannot init PCI\n");
+ rte_errno = EUNATCH;
+ rte_atomic32_clear(&run_once);
+ return -1;
+ }
#ifdef VFIO_PRESENT
if (rte_eal_vfio_setup() < 0)
--
2.9.3
More information about the dev
mailing list