mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
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: 5e123b844a
("[PATCH] Add tsi108/9 On Chip Ethernet device driver support")
Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com>
Link: https://lore.kernel.org/r/20221109044016.126866-1-shaozhengchao@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
f111606b63
commit
acce400370
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user