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)