summaryrefslogtreecommitdiffstats
path: root/drivers/net/ibmveth.c
diff options
context:
space:
mode:
authorDenis Kirjanov <dkirjanov@kernel.org>2010-10-20 06:21:51 +0200
committerDavid S. Miller <davem@davemloft.net>2010-10-21 10:26:46 +0200
commite0e8ab596012d8c2147beb3c8b70d2d6ab90acda (patch)
treeba9b822ce3ad11cab6fa976032b272ab6104d9cc /drivers/net/ibmveth.c
parentibmveth: Cleanup error handling inside ibmveth_open (diff)
downloadlinux-e0e8ab596012d8c2147beb3c8b70d2d6ab90acda.tar.xz
linux-e0e8ab596012d8c2147beb3c8b70d2d6ab90acda.zip
ibmveth: Free irq on error path
Free irq on error path. Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ibmveth.c')
-rw-r--r--drivers/net/ibmveth.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c
index 2ae8336478b3..c454b45ca7ec 100644
--- a/drivers/net/ibmveth.c
+++ b/drivers/net/ibmveth.c
@@ -641,7 +641,7 @@ static int ibmveth_open(struct net_device *netdev)
if (!adapter->bounce_buffer) {
netdev_err(netdev, "unable to allocate bounce buffer\n");
rc = -ENOMEM;
- goto err_out;
+ goto err_out_free_irq;
}
adapter->bounce_buffer_dma =
dma_map_single(&adapter->vdev->dev, adapter->bounce_buffer,
@@ -649,7 +649,7 @@ static int ibmveth_open(struct net_device *netdev)
if (dma_mapping_error(dev, adapter->bounce_buffer_dma)) {
netdev_err(netdev, "unable to map bounce buffer\n");
rc = -ENOMEM;
- goto err_out;
+ goto err_out_free_irq;
}
netdev_dbg(netdev, "initial replenish cycle\n");
@@ -661,6 +661,8 @@ static int ibmveth_open(struct net_device *netdev)
return 0;
+err_out_free_irq:
+ free_irq(netdev->irq, netdev);
err_out:
ibmveth_cleanup(adapter);
napi_disable(&adapter->napi);