03/01/2018 04:29, Yang, Zhiyong:
> From: Thomas Monjalon [mailto:tho...@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. 

Reply via email to