From patchwork Thu Feb 9 14:29:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aaron Conole X-Patchwork-Id: 20308 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 3C1EEFA45; Thu, 9 Feb 2017 15:30:55 +0100 (CET) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 71EF1F967 for ; Thu, 9 Feb 2017 15:30:11 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CF8BF804FB; Thu, 9 Feb 2017 14:30:11 +0000 (UTC) Received: from dhcp-25-97.bos.redhat.com (unknown [10.10.123.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id BA0E26E909; Thu, 9 Feb 2017 14:30:10 +0000 (UTC) From: Aaron Conole To: dev@dpdk.org Cc: Stephen Hemminger , Bruce Richardson Date: Thu, 9 Feb 2017 09:29:39 -0500 Message-Id: <20170209142953.8167-12-aconole@redhat.com> In-Reply-To: <20170209142953.8167-1-aconole@redhat.com> References: <20170208185142.28678-1-aconole@redhat.com> <20170209142953.8167-1-aconole@redhat.com> X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 09 Feb 2017 14:30:11 +0000 (UTC) Subject: [dpdk-dev] [PATCH v3 11/25] eal: Do not panic on pci-probe X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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 9bb00d5..2a3d2f6 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -826,8 +826,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)