On Thu, 24 May 2018 11:10:21 +0100
Jean-Philippe Brucker <jean-philippe.bruc...@arm.com> wrote:

> Currently when virtio_find_single_vq fails, we go through del_vqs which
> throws a warning (Trying to free already-free IRQ). Skip del_vqs if vq
> allocation failed.
> 
> Signed-off-by: Jean-Philippe Brucker <jean-philippe.bruc...@arm.com>
> ---

Reviewed-by: Greg Kurz <gr...@kaod.org>

>  net/9p/trans_virtio.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c
> index 4d0372263e5d..1c87eee522b7 100644
> --- a/net/9p/trans_virtio.c
> +++ b/net/9p/trans_virtio.c
> @@ -562,7 +562,7 @@ static int p9_virtio_probe(struct virtio_device *vdev)
>       chan->vq = virtio_find_single_vq(vdev, req_done, "requests");
>       if (IS_ERR(chan->vq)) {
>               err = PTR_ERR(chan->vq);
> -             goto out_free_vq;
> +             goto out_free_chan;
>       }
>       chan->vq->vdev->priv = chan;
>       spin_lock_init(&chan->lock);
> @@ -615,6 +615,7 @@ static int p9_virtio_probe(struct virtio_device *vdev)
>       kfree(tag);
>  out_free_vq:
>       vdev->config->del_vqs(vdev);
> +out_free_chan:
>       kfree(chan);
>  fail:
>       return err;

Reply via email to