]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/infiniband/hw/mlx4/main.c
IB/mlx4: Unregister IB device prior to CLOSE PORT command
[mv-sheeva.git] / drivers / infiniband / hw / mlx4 / main.c
index 61588bd273bd7b3d93f35b6f63eb5ac024c60aa5..2ccb9d31771f9c43fbb4a4fe493174338ef63bd1 100644 (file)
@@ -699,11 +699,12 @@ static void mlx4_ib_remove(struct mlx4_dev *dev, void *ibdev_ptr)
        struct mlx4_ib_dev *ibdev = ibdev_ptr;
        int p;
 
+       mlx4_ib_mad_cleanup(ibdev);
+       ib_unregister_device(&ibdev->ib_dev);
+
        for (p = 1; p <= ibdev->num_ports; ++p)
                mlx4_CLOSE_PORT(dev, p);
 
-       mlx4_ib_mad_cleanup(ibdev);
-       ib_unregister_device(&ibdev->ib_dev);
        iounmap(ibdev->uar_map);
        mlx4_uar_free(dev, &ibdev->priv_uar);
        mlx4_pd_free(dev, ibdev->priv_pdn);