From: Roland Dreier Date: Thu, 23 Jan 2014 07:24:21 +0000 (-0800) Subject: Merge branch 'ip-roce' into for-next X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=fb1b5034e4987b158179a62732fb6dfb8f7ec88e;p=linux-beck.git Merge branch 'ip-roce' into for-next Conflicts: drivers/infiniband/hw/mlx4/main.c --- fb1b5034e4987b158179a62732fb6dfb8f7ec88e diff --cc drivers/infiniband/hw/mlx4/main.c index ea5844e89b2a,bf218d9ec089..c2702f549f10 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c @@@ -2032,13 -1971,18 +2208,26 @@@ static void mlx4_ib_remove(struct mlx4_ pr_warn("failure unregistering notifier\n"); ibdev->iboe.nb.notifier_call = NULL; } + + if (ibdev->steering_support == MLX4_STEERING_MODE_DEVICE_MANAGED) { + mlx4_qp_release_range(dev, ibdev->steer_qpn_base, + ibdev->steer_qpn_count); + kfree(ibdev->ib_uc_qpns_bitmap); + } + + if (ibdev->iboe.nb_inet.notifier_call) { + if (unregister_inetaddr_notifier(&ibdev->iboe.nb_inet)) + pr_warn("failure unregistering notifier\n"); + ibdev->iboe.nb_inet.notifier_call = NULL; + } + #if IS_ENABLED(CONFIG_IPV6) + if (ibdev->iboe.nb_inet6.notifier_call) { + if (unregister_inet6addr_notifier(&ibdev->iboe.nb_inet6)) + pr_warn("failure unregistering notifier\n"); + ibdev->iboe.nb_inet6.notifier_call = NULL; + } + #endif ++ iounmap(ibdev->uar_map); for (p = 0; p < ibdev->num_ports; ++p) if (ibdev->counters[p] != -1)