Commit acce4003 authored by Zhengchao Shao's avatar Zhengchao Shao Committed by Paolo Abeni

ethernet: tundra: free irq when alloc ring failed in tsi108_open()

When alloc tx/rx ring failed in tsi108_open(), it doesn't free irq. Fix
it.

Fixes: 5e123b84 ("[PATCH] Add tsi108/9 On Chip Ethernet device driver support")
Signed-off-by: default avatarZhengchao Shao <shaozhengchao@huawei.com>
Link: https://lore.kernel.org/r/20221109044016.126866-1-shaozhengchao@huawei.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent f111606b
...@@ -1290,12 +1290,15 @@ static int tsi108_open(struct net_device *dev) ...@@ -1290,12 +1290,15 @@ static int tsi108_open(struct net_device *dev)
data->rxring = dma_alloc_coherent(&data->pdev->dev, rxring_size, data->rxring = dma_alloc_coherent(&data->pdev->dev, rxring_size,
&data->rxdma, GFP_KERNEL); &data->rxdma, GFP_KERNEL);
if (!data->rxring) if (!data->rxring) {
free_irq(data->irq_num, dev);
return -ENOMEM; return -ENOMEM;
}
data->txring = dma_alloc_coherent(&data->pdev->dev, txring_size, data->txring = dma_alloc_coherent(&data->pdev->dev, txring_size,
&data->txdma, GFP_KERNEL); &data->txdma, GFP_KERNEL);
if (!data->txring) { if (!data->txring) {
free_irq(data->irq_num, dev);
dma_free_coherent(&data->pdev->dev, rxring_size, data->rxring, dma_free_coherent(&data->pdev->dev, rxring_size, data->rxring,
data->rxdma); data->rxdma);
return -ENOMEM; return -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment