From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v2] bus/pci: fix wrong intr_handle.type with uio_pci_generic Date: Tue, 09 Jan 2018 16:34:09 +0100 Message-ID: <2439576.5uxvrGeh2E@xps> References: <20171228061210.64767-1-zhiyong.yang@intel.com> <2110508.9oViqIghhz@xps> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, "Yigit, Ferruh" To: "Yang, Zhiyong" Return-path: Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id 954893772 for ; Tue, 9 Jan 2018 16:34:34 +0100 (CET) In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 03/01/2018 04:29, Yang, Zhiyong: > From: Thomas Monjalon [mailto:thomas@monjalon.net] > > 29/12/2017 08:55, Zhiyong Yang: > > > --- a/drivers/bus/pci/linux/pci.c > > > +++ b/drivers/bus/pci/linux/pci.c > > > @@ -723,7 +723,6 @@ pci_ioport_map(struct rte_pci_device *dev, int bar > > __rte_unused, > > > if (!found) > > > return -1; > > > > > > - dev->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN; > > > > There is the same assignment in pci_vfio_map_resource_primary(), > > pci_vfio_map_resource_secondary() and pci_uio_map_resource(). > > > > Please could you check why there is such assignments? > > In general, the operation in the three functions intends to initialize the "intr_handle.type", > For example, > For pci_uio_map_resource(), it wants to get "unknown" status once the code returns abnormally after initializing. > If the code goes smoothly, dev->intr_handle.type must be assigned to "RTE_INTR_HANDLE_UIO" for bsd environment, > Or must be assigned to "RTE_INTR_HANDLE_UIO" or " RTE_INTR_HANDLE_UIO_INTX" for linux environment > In consideration of the "memset" in pci_scan_one, it can be removed to has no harm to the existing logic. So what do you think of doing a v3 which removes it everywhere? It would remove inconsistencies and avoid future questions. > Of course, keeping it is ok. > > pci_vfio_map_resource_primary() and pci_vfio_map_resource_secondary() are similar. > > The author was emphasizing that intr_handle.type should be initialized (0) and can be assigned to a right value after it. > Once fails, we can read a status "unknown". I guess. > > Turn back to the patch, it is crude to assign "unknown" directly since pci_ioport_map is not only used by real "unknown" > But also is used to handle uio_pci_generic driver on X86 platform. It is a special case to cause error for uio_pci_generic.