bus/pci: fix missing case for virtio-crypto
Checks
Commit Message
The recent change to rte_pci_read_config() caused virtio-crypto
device initialization always failed as it has a
RTE_KDRV_UIO_GENERIC driver type. This patch fixes the problem.
Fixes: 630deed612ca ("bus/pci: compare kernel driver instead of interrupt handler")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
---
drivers/bus/pci/linux/pci.c | 1 +
1 file changed, 1 insertion(+)
Comments
01/11/2018 13:10, Fan Zhang:
> The recent change to rte_pci_read_config() caused virtio-crypto
> device initialization always failed as it has a
> RTE_KDRV_UIO_GENERIC driver type. This patch fixes the problem.
Hi Fan,
this issue is not related at all to virtio-crypto.
It can happen with any PMD, right?
In the title, we should mention UIO generic driver.
Hi Thomas,
You are right, the problem can happen with any PMD falls into RTE_KDRV_UIO_GENERIC and RTE_KDRV_NIC_UIO driver type. As riginally rte_pci_read_config() only covered 2 out of 4 possible driver types' .
The patch was submitted for fixing the Virtio Crypto Initialization Segmentation Fault problem introduced in 18.11 RC1, and it did. The problem is I don't think the patch will fix all problems of rte_pci_read_config(). Even I added RTE_KDRV_UIO_GENERIC type into the switch case there is a remaining RTE_KDRV_NIC_UIO type I am not sure where to fit due to the limited knowledge.
That's why I write the patch title like this. I hope someone else with better bus knowledge could submit a complete fix patch.
Best regards,
Fan
> -----Original Message-----
> From: Thomas Monjalon [mailto:thomas@monjalon.net]
> Sent: Thursday, November 1, 2018 1:35 PM
> To: Zhang, Roy Fan <roy.fan.zhang@intel.com>
> Cc: dev@dpdk.org; alejandro.lucero@netronome.com
> Subject: Re: [PATCH] bus/pci: fix missing case for virtio-crypto
>
> 01/11/2018 13:10, Fan Zhang:
> > The recent change to rte_pci_read_config() caused virtio-crypto device
> > initialization always failed as it has a RTE_KDRV_UIO_GENERIC driver
> > type. This patch fixes the problem.
>
> Hi Fan,
> this issue is not related at all to virtio-crypto.
> It can happen with any PMD, right?
>
> In the title, we should mention UIO generic driver.
>
>
+Cc Bruce and Ferruh
02/11/2018 11:01, Zhang, Roy Fan:
> Hi Thomas,
>
> You are right, the problem can happen with any PMD falls into RTE_KDRV_UIO_GENERIC and RTE_KDRV_NIC_UIO driver type. As riginally rte_pci_read_config() only covered 2 out of 4 possible driver types' .
>
> The patch was submitted for fixing the Virtio Crypto Initialization Segmentation Fault problem introduced in 18.11 RC1, and it did. The problem is I don't think the patch will fix all problems of rte_pci_read_config(). Even I added RTE_KDRV_UIO_GENERIC type into the switch case there is a remaining RTE_KDRV_NIC_UIO type I am not sure where to fit due to the limited knowledge.
>
> That's why I write the patch title like this. I hope someone else with better bus knowledge could submit a complete fix patch.
>
> Best regards,
> Fan
>
> > -----Original Message-----
> > From: Thomas Monjalon [mailto:thomas@monjalon.net]
> > Sent: Thursday, November 1, 2018 1:35 PM
> > To: Zhang, Roy Fan <roy.fan.zhang@intel.com>
> > Cc: dev@dpdk.org; alejandro.lucero@netronome.com
> > Subject: Re: [PATCH] bus/pci: fix missing case for virtio-crypto
> >
> > 01/11/2018 13:10, Fan Zhang:
> > > The recent change to rte_pci_read_config() caused virtio-crypto device
> > > initialization always failed as it has a RTE_KDRV_UIO_GENERIC driver
> > > type. This patch fixes the problem.
> >
> > Hi Fan,
> > this issue is not related at all to virtio-crypto.
> > It can happen with any PMD, right?
> >
> > In the title, we should mention UIO generic driver.
> >
> >
>
We must also fix rte_pci_write_config()
02/11/2018 11:39, Thomas Monjalon:
> +Cc Bruce and Ferruh
>
> 02/11/2018 11:01, Zhang, Roy Fan:
> > Hi Thomas,
> >
> > You are right, the problem can happen with any PMD falls into RTE_KDRV_UIO_GENERIC and RTE_KDRV_NIC_UIO driver type. As riginally rte_pci_read_config() only covered 2 out of 4 possible driver types' .
> >
> > The patch was submitted for fixing the Virtio Crypto Initialization Segmentation Fault problem introduced in 18.11 RC1, and it did. The problem is I don't think the patch will fix all problems of rte_pci_read_config(). Even I added RTE_KDRV_UIO_GENERIC type into the switch case there is a remaining RTE_KDRV_NIC_UIO type I am not sure where to fit due to the limited knowledge.
> >
> > That's why I write the patch title like this. I hope someone else with better bus knowledge could submit a complete fix patch.
> >
> > Best regards,
> > Fan
> >
> > > -----Original Message-----
> > > From: Thomas Monjalon [mailto:thomas@monjalon.net]
> > > Sent: Thursday, November 1, 2018 1:35 PM
> > > To: Zhang, Roy Fan <roy.fan.zhang@intel.com>
> > > Cc: dev@dpdk.org; alejandro.lucero@netronome.com
> > > Subject: Re: [PATCH] bus/pci: fix missing case for virtio-crypto
> > >
> > > 01/11/2018 13:10, Fan Zhang:
> > > > The recent change to rte_pci_read_config() caused virtio-crypto device
> > > > initialization always failed as it has a RTE_KDRV_UIO_GENERIC driver
> > > > type. This patch fixes the problem.
> > >
> > > Hi Fan,
> > > this issue is not related at all to virtio-crypto.
> > > It can happen with any PMD, right?
> > >
> > > In the title, we should mention UIO generic driver.
> > >
> > >
> >
>
>
>
>
>
>
01/11/2018 13:10, Fan Zhang:
> The recent change to rte_pci_read_config() caused virtio-crypto
> device initialization always failed as it has a
> RTE_KDRV_UIO_GENERIC driver type. This patch fixes the problem.
>
> Fixes: 630deed612ca ("bus/pci: compare kernel driver instead of interrupt handler")
>
> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Applied with same change in rte_pci_write_config, and reworded logs, thanks.
@@ -704,6 +704,7 @@ int rte_pci_read_config(const struct rte_pci_device *device,
switch (device->kdrv) {
case RTE_KDRV_IGB_UIO:
+ case RTE_KDRV_UIO_GENERIC:
return pci_uio_read_config(intr_handle, buf, len, offset);
#ifdef VFIO_PRESENT
case RTE_KDRV_VFIO: