From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH 4/4] igb_uio: bind error if pcie bridge Date: Mon, 26 Mar 2018 19:20:55 +0100 Message-ID: <5fa0e9d9-9c64-c1e8-423d-e9d4441d5b3c@intel.com> References: <20180321180629.58318-1-ajit.khaparde@broadcom.com> <20180321180629.58318-5-ajit.khaparde@broadcom.com> <9c01c36e-b2a3-db28-f9b8-ccae8f33e71d@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: Darren Edamura , Rahul Gupta To: Scott Branden , Ajit Khaparde , dev@dpdk.org Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id E1D682C5E for ; Mon, 26 Mar 2018 20:21:01 +0200 (CEST) In-Reply-To: Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 3/26/2018 7:05 PM, Scott Branden wrote: > Hi Ferruh, > > > On 18-03-26 10:24 AM, Ferruh Yigit wrote: >> On 3/21/2018 6:06 PM, Ajit Khaparde wrote: >>> From: Darren Edamura >>> >>> Probe function should exit immediately if pcie bridge detected >>> >>> Signed-off-by: Darren Edamura >>> Signed-off-by: Rahul Gupta >>> Signed-off-by: Scott Branden >>> Signed-off-by: Ajit Khaparde >>> --- >>> lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 3 +++ >>> 1 file changed, 3 insertions(+) >>> >>> diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c >>> index 4cae4dd27..3fabbfc4d 100644 >>> --- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c >>> +++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c >>> @@ -473,6 +473,9 @@ igbuio_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) >>> void *map_addr; >>> int err; >>> >>> + if (pci_is_bridge(dev)) >>> + return -ENODEV; >> What do you think printing a log here? > I think it brings little value.  ENODEV is already returned? User should not provide bridge address at first place, I guess this is a protection in case user provides bridge address by mistake. In that case no device will be probed and user won't have any idea why. I think a log in dmesg saying bridge device is provided may help to the user. >> >>> + >>> udev = kzalloc(sizeof(struct rte_uio_pci_dev), GFP_KERNEL); >>> if (!udev) >>> return -ENOMEM; >>> > Regards, >  Scott >