summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw
diff options
context:
space:
mode:
authorEli Cohen2014-09-14 15:47:50 +0200
committerRoland Dreier2014-10-09 09:08:40 +0200
commiteefd56e5895540ea78979b7845f76c9bb94c8fed (patch)
tree55d3a6fd2c8467cf13f39af07baf3521f45bc291 /drivers/infiniband/hw
parentLinux 3.17-rc7 (diff)
downloadkernel-qcow2-linux-eefd56e5895540ea78979b7845f76c9bb94c8fed.tar.gz
kernel-qcow2-linux-eefd56e5895540ea78979b7845f76c9bb94c8fed.tar.xz
kernel-qcow2-linux-eefd56e5895540ea78979b7845f76c9bb94c8fed.zip
IB/mlx5: Clear umr resources after ib_unregister_device
Some ULPs may make use of resources created in create_umr_res so make sure to call destroy_umrc_res after returning from ib_unregister_device, which makes sure all ULPs have closed their resources. Signed-off-by: Eli Cohen <eli@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r--drivers/infiniband/hw/mlx5/main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index d8907b20522a..ecd3aebc46fe 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -1414,8 +1414,8 @@ err_dealloc:
static void mlx5_ib_remove(struct mlx5_core_dev *mdev, void *context)
{
struct mlx5_ib_dev *dev = context;
- destroy_umrc_res(dev);
ib_unregister_device(&dev->ib_dev);
+ destroy_umrc_res(dev);
destroy_dev_resources(&dev->devr);
free_comp_eqs(dev);
ib_dealloc_device(&dev->ib_dev);