Message ID | 20221109044016.126866-1-shaozhengchao@huawei.com (mailing list archive) |
---|---|
State | Accepted |
Commit | acce40037041f97baad18142bb253064491ebde3 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] ethernet: tundra: free irq when alloc ring failed in tsi108_open() | expand |
Hello: This patch was applied to netdev/net.git (master) by Paolo Abeni <pabeni@redhat.com>: On Wed, 9 Nov 2022 12:40:16 +0800 you wrote: > When alloc tx/rx ring failed in tsi108_open(), it doesn't free irq. Fix > it. > > Fixes: 5e123b844a1c ("[PATCH] Add tsi108/9 On Chip Ethernet device driver support") > Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com> > --- > v2: move free_irq to error handling path and modify fixes tag > > [...] Here is the summary with links: - [net] ethernet: tundra: free irq when alloc ring failed in tsi108_open() https://git.kernel.org/netdev/net/c/acce40037041 You are awesome, thank you!
diff --git a/drivers/net/ethernet/tundra/tsi108_eth.c b/drivers/net/ethernet/tundra/tsi108_eth.c index 2cd2afc3fff0..d09d352e1c0a 100644 --- a/drivers/net/ethernet/tundra/tsi108_eth.c +++ b/drivers/net/ethernet/tundra/tsi108_eth.c @@ -1290,12 +1290,15 @@ static int tsi108_open(struct net_device *dev) data->rxring = dma_alloc_coherent(&data->pdev->dev, rxring_size, &data->rxdma, GFP_KERNEL); - if (!data->rxring) + if (!data->rxring) { + free_irq(data->irq_num, dev); return -ENOMEM; + } data->txring = dma_alloc_coherent(&data->pdev->dev, txring_size, &data->txdma, GFP_KERNEL); if (!data->txring) { + free_irq(data->irq_num, dev); dma_free_coherent(&data->pdev->dev, rxring_size, data->rxring, data->rxdma); return -ENOMEM;
When alloc tx/rx ring failed in tsi108_open(), it doesn't free irq. Fix it. Fixes: 5e123b844a1c ("[PATCH] Add tsi108/9 On Chip Ethernet device driver support") Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com> --- v2: move free_irq to error handling path and modify fixes tag --- drivers/net/ethernet/tundra/tsi108_eth.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)