[PATCH 1/2] net/virtio: propagate return value of called function

Maxime Coquelin maxime.coquelin at redhat.com
Thu Jun 1 22:01:31 CEST 2023



On 3/22/23 11:23, Boleslav Stankevich wrote:
> rte_intr_vec_list_alloc() may fail because of different reasons which
> are indicated by different negative errno values.
> 
> Fixes: d61138d4f0e2 ("drivers: remove direct access to interrupt handle")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Boleslav Stankevich <boleslav.stankevich at oktetlabs.ru>
> Signed-off-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
> ---
>   drivers/net/virtio/virtio_ethdev.c | 8 +++++---
>   1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index ae84d313be..5c8b7b95e9 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -1390,6 +1390,7 @@ static int
>   virtio_configure_intr(struct rte_eth_dev *dev)
>   {
>   	struct virtio_hw *hw = dev->data->dev_private;
> +	int ret;
>   
>   	if (!rte_intr_cap_multiple(dev->intr_handle)) {
>   		PMD_INIT_LOG(ERR, "Multiple intr vector not supported");
> @@ -1401,11 +1402,12 @@ virtio_configure_intr(struct rte_eth_dev *dev)
>   		return -1;
>   	}
>   
> -	if (rte_intr_vec_list_alloc(dev->intr_handle, "intr_vec",
> -				    hw->max_queue_pairs)) {
> +	ret = rte_intr_vec_list_alloc(dev->intr_handle, "intr_vec",
> +				      hw->max_queue_pairs);
> +	if (ret < 0) {
>   		PMD_INIT_LOG(ERR, "Failed to allocate %u rxq vectors",
>   			     hw->max_queue_pairs);
> -		return -ENOMEM;
> +		return ret;
>   	}
>   
>   	if (dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC) {


Applied to dpdk-next-virtio/main.

Thanks,
Maxime



More information about the stable mailing list