aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/hw/mlx4/main.c')
-rw-r--r--drivers/infiniband/hw/mlx4/main.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
index 8763fb832b01..5a2a0b5db938 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -2483,9 +2483,8 @@ err_steer_free_bitmap:
2483 kfree(ibdev->ib_uc_qpns_bitmap); 2483 kfree(ibdev->ib_uc_qpns_bitmap);
2484 2484
2485err_steer_qp_release: 2485err_steer_qp_release:
2486 if (ibdev->steering_support == MLX4_STEERING_MODE_DEVICE_MANAGED) 2486 mlx4_qp_release_range(dev, ibdev->steer_qpn_base,
2487 mlx4_qp_release_range(dev, ibdev->steer_qpn_base, 2487 ibdev->steer_qpn_count);
2488 ibdev->steer_qpn_count);
2489err_counter: 2488err_counter:
2490 for (i = 0; i < ibdev->num_ports; ++i) 2489 for (i = 0; i < ibdev->num_ports; ++i)
2491 mlx4_ib_delete_counters_table(ibdev, &ibdev->counters_table[i]); 2490 mlx4_ib_delete_counters_table(ibdev, &ibdev->counters_table[i]);
@@ -2586,11 +2585,9 @@ static void mlx4_ib_remove(struct mlx4_dev *dev, void *ibdev_ptr)
2586 ibdev->iboe.nb.notifier_call = NULL; 2585 ibdev->iboe.nb.notifier_call = NULL;
2587 } 2586 }
2588 2587
2589 if (ibdev->steering_support == MLX4_STEERING_MODE_DEVICE_MANAGED) { 2588 mlx4_qp_release_range(dev, ibdev->steer_qpn_base,
2590 mlx4_qp_release_range(dev, ibdev->steer_qpn_base, 2589 ibdev->steer_qpn_count);
2591 ibdev->steer_qpn_count); 2590 kfree(ibdev->ib_uc_qpns_bitmap);
2592 kfree(ibdev->ib_uc_qpns_bitmap);
2593 }
2594 2591
2595 iounmap(ibdev->uar_map); 2592 iounmap(ibdev->uar_map);
2596 for (p = 0; p < ibdev->num_ports; ++p) 2593 for (p = 0; p < ibdev->num_ports; ++p)