diff options
author | Denis Kirjanov <dkirjanov@kernel.org> | 2010-10-20 06:21:51 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-10-21 10:26:46 +0200 |
commit | e0e8ab596012d8c2147beb3c8b70d2d6ab90acda (patch) | |
tree | ba9b822ce3ad11cab6fa976032b272ab6104d9cc /drivers/net/ibmveth.c | |
parent | ibmveth: Cleanup error handling inside ibmveth_open (diff) | |
download | linux-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 '')
-rw-r--r-- | drivers/net/ibmveth.c | 6 |
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); |