From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean-Philippe Brucker Subject: [PATCH] net/9p: fix error path of p9_virtio_probe Date: Thu, 24 May 2018 11:10:21 +0100 Message-ID: <20180524101021.49880-1-jean-philippe.brucker@arm.com> Cc: netdev@vger.kernel.org, davem@davemloft.net To: v9fs-developer@lists.sourceforge.net, ericvh@gmail.com, rminnich@sandia.gov, lucho@ionkov.net Return-path: Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:39948 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031770AbeEXKLL (ORCPT ); Thu, 24 May 2018 06:11:11 -0400 Sender: netdev-owner@vger.kernel.org List-ID: 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 --- 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; -- 2.17.0