raw/octeontx2_dma: fix unavailable PCI device in dpivf
Checks
Commit Message
The PCI device address is being used for sending mailbox which was
introduced in previous commit which replaced the macros so that
multiple DPI blocks in the hardware can be supported.
This patch fixes a NULL pointer access by assigning the PCI device
structure to dpivf.
Fixes: 4495bd887d38 ("raw/octeontx2_dma: support multiple DPI blocks")
Signed-off-by: Radha Mohan Chintakuntla <radhac@marvell.com>
---
drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c | 1 +
1 file changed, 1 insertion(+)
Comments
On Fri, Apr 9, 2021 at 1:29 PM Radha Mohan Chintakuntla
<radhac@marvell.com> wrote:
>
> The PCI device address is being used for sending mailbox which was
> introduced in previous commit which replaced the macros so that
> multiple DPI blocks in the hardware can be supported.
>
> This patch fixes a NULL pointer access by assigning the PCI device
> structure to dpivf.
>
> Fixes: 4495bd887d38 ("raw/octeontx2_dma: support multiple DPI blocks")
>
> Signed-off-by: Radha Mohan Chintakuntla <radhac@marvell.com>
> ---
> drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c b/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c
> index efdba2779b..8c01f25ec7 100644
> --- a/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c
> +++ b/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c
> @@ -389,6 +389,7 @@ otx2_dpi_rawdev_probe(struct rte_pci_driver *pci_drv __rte_unused,
> vf_id = ((pci_dev->addr.devid & 0x1F) << 3) |
> (pci_dev->addr.function & 0x7);
> vf_id -= 1;
> + dpivf->dev = pci_dev;
> dpivf->state = DPI_QUEUE_START;
> dpivf->vf_id = vf_id;
> dpivf->vf_bar0 = (uintptr_t)pci_dev->mem_resource[0].addr;
> --
> 2.24.1
I sent another with proper subject patch version. Please ignore this.
@@ -389,6 +389,7 @@ otx2_dpi_rawdev_probe(struct rte_pci_driver *pci_drv __rte_unused,
vf_id = ((pci_dev->addr.devid & 0x1F) << 3) |
(pci_dev->addr.function & 0x7);
vf_id -= 1;
+ dpivf->dev = pci_dev;
dpivf->state = DPI_QUEUE_START;
dpivf->vf_id = vf_id;
dpivf->vf_bar0 = (uintptr_t)pci_dev->mem_resource[0].addr;