diff options
-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 2ae8336..c454b45 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); |