diff options
| -rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/main.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c index 7cf9dadcb471..12a7ee2e6098 100644 --- a/drivers/net/ethernet/mellanox/mlx4/main.c +++ b/drivers/net/ethernet/mellanox/mlx4/main.c | |||
| @@ -1696,6 +1696,13 @@ unmap_bf: | |||
| 1696 | unmap_internal_clock(dev); | 1696 | unmap_internal_clock(dev); |
| 1697 | unmap_bf_area(dev); | 1697 | unmap_bf_area(dev); |
| 1698 | 1698 | ||
| 1699 | if (mlx4_is_slave(dev)) { | ||
| 1700 | kfree(dev->caps.qp0_tunnel); | ||
| 1701 | kfree(dev->caps.qp0_proxy); | ||
| 1702 | kfree(dev->caps.qp1_tunnel); | ||
| 1703 | kfree(dev->caps.qp1_proxy); | ||
| 1704 | } | ||
| 1705 | |||
| 1699 | err_close: | 1706 | err_close: |
| 1700 | if (mlx4_is_slave(dev)) | 1707 | if (mlx4_is_slave(dev)) |
| 1701 | mlx4_slave_exit(dev); | 1708 | mlx4_slave_exit(dev); |
| @@ -2565,6 +2572,13 @@ err_master_mfunc: | |||
| 2565 | if (mlx4_is_master(dev)) | 2572 | if (mlx4_is_master(dev)) |
| 2566 | mlx4_multi_func_cleanup(dev); | 2573 | mlx4_multi_func_cleanup(dev); |
| 2567 | 2574 | ||
| 2575 | if (mlx4_is_slave(dev)) { | ||
| 2576 | kfree(dev->caps.qp0_tunnel); | ||
| 2577 | kfree(dev->caps.qp0_proxy); | ||
| 2578 | kfree(dev->caps.qp1_tunnel); | ||
| 2579 | kfree(dev->caps.qp1_proxy); | ||
| 2580 | } | ||
| 2581 | |||
| 2568 | err_close: | 2582 | err_close: |
| 2569 | if (dev->flags & MLX4_FLAG_MSI_X) | 2583 | if (dev->flags & MLX4_FLAG_MSI_X) |
| 2570 | pci_disable_msix(pdev); | 2584 | pci_disable_msix(pdev); |
