eventdev: fix probe and remove for secondary process
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: 322d0345c2
("eventdev: implement PMD registration functions")
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
This commit is contained in:
parent
534d1d4b65
commit
a5f30c925b
@ -1373,14 +1373,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->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++;
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user