Re: [PATCH] vdpa: solidrun: Free IRQs after request failure

"Michael S. Tsirkin" <[email protected]>
Newsgroups org.kernel.vger.linux-kernel,dev.linux.lists.virtualization
Message-ID <[email protected]>
On Tue, Aug 04, 2026 at 05:26:17PM +0800, Xiong Weimin wrote:
> Unwind any IRQs already requested by snet_request_irqs() before returning
> an error so a later retry starts from a clean state.
> 
> Signed-off-by: Xiong Weimin <[email protected]>

Here too. Pls tell us what is wrong and how it is fixed. E.g.:

Currently .... This is a problem because ... We can not do .... because
... To address .... And then ....


> ---
>  drivers/vdpa/solidrun/snet_main.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/vdpa/solidrun/snet_main.c b/drivers/vdpa/solidrun/snet_main.c
> index 28d55315d..aa3ae3876 100644
> --- a/drivers/vdpa/solidrun/snet_main.c
> +++ b/drivers/vdpa/solidrun/snet_main.c
> @@ -407,7 +407,7 @@ static int snet_request_irqs(struct pci_dev *pdev, struct snet *snet)
>  			       snet->cfg_irq_name, snet);
>  	if (ret) {
>  		SNET_ERR(pdev, "Failed to request IRQ\n");
> -		return ret;
> +		goto err_free_irqs;
>  	}
>  	snet->cfg_irq = irq;
>  
> @@ -418,11 +418,15 @@ static int snet_request_irqs(struct pci_dev *pdev, struct snet *snet)
>  				       snet->vqs[i]->irq_name, snet->vqs[i]);
>  		if (ret) {
>  			SNET_ERR(pdev, "Failed to request IRQ\n");
> -			return ret;
> +			goto err_free_irqs;
>  		}
>  		snet->vqs[i]->irq = irq;
>  	}
>  	return 0;
> +
> +err_free_irqs:
> +	snet_free_irqs(snet);
> +	return ret;
>  }
>  
>  static void snet_set_status(struct vdpa_device *vdev, u8 status)
> -- 
> 2.43.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.