[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221120061757.264242-1-cuigaosheng1@huawei.com>
Date: Sun, 20 Nov 2022 14:17:57 +0800
From: Gaosheng Cui <cuigaosheng1@...wei.com>
To: <jesse.brandeburg@...el.com>, <anthony.l.nguyen@...el.com>,
<davem@...emloft.net>, <edumazet@...gle.com>, <kuba@...nel.org>,
<pabeni@...hat.com>, <jeffrey.t.kirsher@...el.com>,
<alexander.h.duyck@...el.com>, <cuigaosheng1@...wei.com>
CC: <intel-wired-lan@...ts.osuosl.org>, <netdev@...r.kernel.org>
Subject: [PATCH net] intel/igbvf: free irq on the error path in igbvf_request_msix()
In igbvf_request_msix(), irqs have not been freed on the err path,
we need to free it. Fix it.
Fixes: d4e0fe01a38a ("igbvf: add new driver to support 82576 virtual functions")
Signed-off-by: Gaosheng Cui <cuigaosheng1@...wei.com>
---
drivers/net/ethernet/intel/igbvf/netdev.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c
index 3a32809510fc..e212ca16df00 100644
--- a/drivers/net/ethernet/intel/igbvf/netdev.c
+++ b/drivers/net/ethernet/intel/igbvf/netdev.c
@@ -1074,7 +1074,7 @@ static int igbvf_request_msix(struct igbvf_adapter *adapter)
igbvf_intr_msix_rx, 0, adapter->rx_ring->name,
netdev);
if (err)
- goto out;
+ goto free_irq1;
adapter->rx_ring->itr_register = E1000_EITR(vector);
adapter->rx_ring->itr_val = adapter->current_itr;
@@ -1083,10 +1083,14 @@ static int igbvf_request_msix(struct igbvf_adapter *adapter)
err = request_irq(adapter->msix_entries[vector].vector,
igbvf_msix_other, 0, netdev->name, netdev);
if (err)
- goto out;
+ goto free_irq2;
igbvf_configure_msix(adapter);
return 0;
+free_irq2:
+ free_irq(adapter->msix_entries[--vector].vector, netdev);
+free_irq1:
+ free_irq(adapter->msix_entries[--vector].vector, netdev);
out:
return err;
}
--
2.25.1
Powered by blists - more mailing lists