On Mon, Apr 27, 2020 at 11:40 PM <pbhagavat...@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavat...@marvell.com>
>
> When probing event device in secondary process skip reinitializing
> the device data structure as it is already done in primary process.
>
> When removing event device in secondary process skip closing the
> event device as it should be done by primary process.
>
> Fixes: 322d0345c2bc ("eventdev: implement PMD registration functions")

Cc: sta...@dpdk.org

>
> Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com>


Acked-by: Jerin Jacob <jer...@marvell.com>



> ---
>  lib/librte_eventdev/rte_eventdev.c         | 13 ++++++++-----
>  lib/librte_eventdev/rte_eventdev_pmd_pci.h |  8 +++++---
>  2 files changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/lib/librte_eventdev/rte_eventdev.c 
> b/lib/librte_eventdev/rte_eventdev.c
> index b987e0745..9aca7fbd5 100644
> --- a/lib/librte_eventdev/rte_eventdev.c
> +++ b/lib/librte_eventdev/rte_eventdev.c
> @@ -1364,14 +1364,17 @@ rte_event_pmd_allocate(const char *name, int 
> socket_id)
>
>                 eventdev->data = eventdev_data;
>
> -               strlcpy(eventdev->data->name, name, 
> RTE_EVENTDEV_NAME_MAX_LEN);
> +               if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
>
> -               eventdev->data->dev_id = dev_id;
> -               eventdev->data->socket_id = socket_id;
> -               eventdev->data->dev_started = 0;
> +                       strlcpy(eventdev->data->name, name,
> +                               RTE_EVENTDEV_NAME_MAX_LEN);
>
> -               eventdev->attached = RTE_EVENTDEV_ATTACHED;
> +                       eventdev->data->dev_id = dev_id;
> +                       eventdev->data->socket_id = socket_id;
> +                       eventdev->data->dev_started = 0;
> +               }
>
> +               eventdev->attached = RTE_EVENTDEV_ATTACHED;
>                 eventdev_globals.nb_devs++;
>         }
>
> diff --git a/lib/librte_eventdev/rte_eventdev_pmd_pci.h 
> b/lib/librte_eventdev/rte_eventdev_pmd_pci.h
> index 8fb61386f..443cd38c2 100644
> --- a/lib/librte_eventdev/rte_eventdev_pmd_pci.h
> +++ b/lib/librte_eventdev/rte_eventdev_pmd_pci.h
> @@ -112,9 +112,11 @@ rte_event_pmd_pci_remove(struct rte_pci_device *pci_dev,
>         if (eventdev == NULL)
>                 return -ENODEV;
>
> -       ret = rte_event_dev_close(eventdev->data->dev_id);
> -       if (ret < 0)
> -               return ret;
> +       if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
> +               ret = rte_event_dev_close(eventdev->data->dev_id);
> +               if (ret < 0)
> +                       return ret;
> +       }
>
>         /* Invoke PMD device un-init function */
>         if (devuninit)
> --
> 2.17.1
>

Reply via email to