From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH] pci: fix probing blacklisted device with RTE_PCI_DRV_MULTIPLE flag Date: Tue, 16 Apr 2013 17:11:01 +0200 Message-ID: <201304161711.01205.thomas.monjalon@6wind.com> References: <1366101108-14177-1-git-send-email-julien.courtat@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: dev-VfR2kkLFssw@public.gmane.org To: Julien Courtat Return-path: In-Reply-To: <1366101108-14177-1-git-send-email-julien.courtat-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" pushed, thanks ! 16/04/2013 10:31, Julien Courtat : > When blacklisting network adapters that share a PCI bus address with multiple > ports such as Mellanox ConnectX-3 (librte_pmd_mlx4), RTE applications > enter infinite loops while probing PCI devices. > > This commit removes this probe on subsequent instances for blacklisted devices > that have RTE_PCI_DRV_MULTIPLE set. > > Acked-by: Adrien Mazarguil > Signed-off-by: Julien Courtat > --- > lib/librte_eal/common/eal_common_pci.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pci.c > index 3a6ab70..4e1a944 100644 > --- a/lib/librte_eal/common/eal_common_pci.c > +++ b/lib/librte_eal/common/eal_common_pci.c > @@ -91,9 +91,11 @@ pci_probe_all_drivers(struct rte_pci_device *dev) > if (rte_eal_pci_probe_one_driver(dr, dev)) > continue; > /* initialize subsequent driver instances for this device */ > - if (dr->drv_flags & RTE_PCI_DRV_MULTIPLE) > + if ((dr->drv_flags & RTE_PCI_DRV_MULTIPLE) && > + (!dev->blacklisted)) { > while (rte_eal_pci_probe_one_driver(dr, dev) == 0) > ; > + } > return 0; > } > return -1;