diff options
| -rw-r--r-- | drivers/infiniband/hw/mlx4/main.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c index 61588bd273bd..2ccb9d31771f 100644 --- a/drivers/infiniband/hw/mlx4/main.c +++ b/drivers/infiniband/hw/mlx4/main.c @@ -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); | 
