diff options
Diffstat (limited to 'drivers/net')
-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) | |||
641 | if (!adapter->bounce_buffer) { | 641 | if (!adapter->bounce_buffer) { |
642 | netdev_err(netdev, "unable to allocate bounce buffer\n"); | 642 | netdev_err(netdev, "unable to allocate bounce buffer\n"); |
643 | rc = -ENOMEM; | 643 | rc = -ENOMEM; |
644 | goto err_out; | 644 | goto err_out_free_irq; |
645 | } | 645 | } |
646 | adapter->bounce_buffer_dma = | 646 | adapter->bounce_buffer_dma = |
647 | dma_map_single(&adapter->vdev->dev, adapter->bounce_buffer, | 647 | dma_map_single(&adapter->vdev->dev, adapter->bounce_buffer, |
@@ -649,7 +649,7 @@ static int ibmveth_open(struct net_device *netdev) | |||
649 | if (dma_mapping_error(dev, adapter->bounce_buffer_dma)) { | 649 | if (dma_mapping_error(dev, adapter->bounce_buffer_dma)) { |
650 | netdev_err(netdev, "unable to map bounce buffer\n"); | 650 | netdev_err(netdev, "unable to map bounce buffer\n"); |
651 | rc = -ENOMEM; | 651 | rc = -ENOMEM; |
652 | goto err_out; | 652 | goto err_out_free_irq; |
653 | } | 653 | } |
654 | 654 | ||
655 | netdev_dbg(netdev, "initial replenish cycle\n"); | 655 | netdev_dbg(netdev, "initial replenish cycle\n"); |
@@ -661,6 +661,8 @@ static int ibmveth_open(struct net_device *netdev) | |||
661 | 661 | ||
662 | return 0; | 662 | return 0; |
663 | 663 | ||
664 | err_out_free_irq: | ||
665 | free_irq(netdev->irq, netdev); | ||
664 | err_out: | 666 | err_out: |
665 | ibmveth_cleanup(adapter); | 667 | ibmveth_cleanup(adapter); |
666 | napi_disable(&adapter->napi); | 668 | napi_disable(&adapter->napi); |