[dpdk-stable] [PATCH] ethdev: avoid unregistering a non-allocated callback
Matan Azrad
matan at nvidia.com
Tue Jul 13 15:42:58 CEST 2021
Hi Thomas
From: Thomas Monjalon
> When registering a new event callback, if allocation fails, there is no need for
> unregistering the callback, because it is not registered.
>
> Fixes: 9ec0b3869d8d ("ethdev: allow event registration for all ports")
> Cc: stable at dpdk.org
>
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
> lib/ethdev/rte_ethdev.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c index
> 9d95cd11e1..1731854628 100644
> --- a/lib/ethdev/rte_ethdev.c
> +++ b/lib/ethdev/rte_ethdev.c
> @@ -4649,8 +4649,6 @@ rte_eth_dev_callback_register(uint16_t port_id,
> user_cb, next);
> } else {
> rte_spinlock_unlock(ð_dev_cb_lock);
> - rte_eth_dev_callback_unregister(port_id, event,
> - cb_fn, cb_arg);
Please pay attention to the case of port_id=RTE_ETH_ALL where the user wants to register the event for all the ports.
In this case, when a failure happens for one of the ports, this unregister call cleans the callback from all the ports.
> return -ENOMEM;
> }
>
> --
> 2.31.1
More information about the stable
mailing list