diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/infiniband/hw/cxgb4/cm.c | 2 | ||||
| -rw-r--r-- | drivers/infiniband/hw/cxgb4/device.c | 17 | ||||
| -rw-r--r-- | drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 |
3 files changed, 12 insertions, 9 deletions
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c index 6a93280250d1..768a0fb67dd6 100644 --- a/drivers/infiniband/hw/cxgb4/cm.c +++ b/drivers/infiniband/hw/cxgb4/cm.c | |||
| @@ -3925,7 +3925,7 @@ int __init c4iw_cm_init(void) | |||
| 3925 | return 0; | 3925 | return 0; |
| 3926 | } | 3926 | } |
| 3927 | 3927 | ||
| 3928 | void __exit c4iw_cm_term(void) | 3928 | void c4iw_cm_term(void) |
| 3929 | { | 3929 | { |
| 3930 | WARN_ON(!list_empty(&timeout_list)); | 3930 | WARN_ON(!list_empty(&timeout_list)); |
| 3931 | flush_workqueue(workq); | 3931 | flush_workqueue(workq); |
diff --git a/drivers/infiniband/hw/cxgb4/device.c b/drivers/infiniband/hw/cxgb4/device.c index 16b75de4b2de..7db82b24302b 100644 --- a/drivers/infiniband/hw/cxgb4/device.c +++ b/drivers/infiniband/hw/cxgb4/device.c | |||
| @@ -730,7 +730,6 @@ static void c4iw_dealloc(struct uld_ctx *ctx) | |||
| 730 | if (ctx->dev->rdev.oc_mw_kva) | 730 | if (ctx->dev->rdev.oc_mw_kva) |
| 731 | iounmap(ctx->dev->rdev.oc_mw_kva); | 731 | iounmap(ctx->dev->rdev.oc_mw_kva); |
| 732 | ib_dealloc_device(&ctx->dev->ibdev); | 732 | ib_dealloc_device(&ctx->dev->ibdev); |
| 733 | iwpm_exit(RDMA_NL_C4IW); | ||
| 734 | ctx->dev = NULL; | 733 | ctx->dev = NULL; |
| 735 | } | 734 | } |
| 736 | 735 | ||
| @@ -827,12 +826,6 @@ static struct c4iw_dev *c4iw_alloc(const struct cxgb4_lld_info *infop) | |||
| 827 | setup_debugfs(devp); | 826 | setup_debugfs(devp); |
| 828 | } | 827 | } |
| 829 | 828 | ||
| 830 | ret = iwpm_init(RDMA_NL_C4IW); | ||
| 831 | if (ret) { | ||
| 832 | pr_err("port mapper initialization failed with %d\n", ret); | ||
| 833 | ib_dealloc_device(&devp->ibdev); | ||
| 834 | return ERR_PTR(ret); | ||
| 835 | } | ||
| 836 | 829 | ||
| 837 | return devp; | 830 | return devp; |
| 838 | } | 831 | } |
| @@ -1333,6 +1326,15 @@ static int __init c4iw_init_module(void) | |||
| 1333 | pr_err("%s[%u]: Failed to add netlink callback\n" | 1326 | pr_err("%s[%u]: Failed to add netlink callback\n" |
| 1334 | , __func__, __LINE__); | 1327 | , __func__, __LINE__); |
| 1335 | 1328 | ||
| 1329 | err = iwpm_init(RDMA_NL_C4IW); | ||
| 1330 | if (err) { | ||
| 1331 | pr_err("port mapper initialization failed with %d\n", err); | ||
| 1332 | ibnl_remove_client(RDMA_NL_C4IW); | ||
| 1333 | c4iw_cm_term(); | ||
| 1334 | debugfs_remove_recursive(c4iw_debugfs_root); | ||
| 1335 | return err; | ||
| 1336 | } | ||
| 1337 | |||
| 1336 | cxgb4_register_uld(CXGB4_ULD_RDMA, &c4iw_uld_info); | 1338 | cxgb4_register_uld(CXGB4_ULD_RDMA, &c4iw_uld_info); |
| 1337 | 1339 | ||
| 1338 | return 0; | 1340 | return 0; |
| @@ -1350,6 +1352,7 @@ static void __exit c4iw_exit_module(void) | |||
| 1350 | } | 1352 | } |
| 1351 | mutex_unlock(&dev_mutex); | 1353 | mutex_unlock(&dev_mutex); |
| 1352 | cxgb4_unregister_uld(CXGB4_ULD_RDMA); | 1354 | cxgb4_unregister_uld(CXGB4_ULD_RDMA); |
| 1355 | iwpm_exit(RDMA_NL_C4IW); | ||
| 1353 | ibnl_remove_client(RDMA_NL_C4IW); | 1356 | ibnl_remove_client(RDMA_NL_C4IW); |
| 1354 | c4iw_cm_term(); | 1357 | c4iw_cm_term(); |
| 1355 | debugfs_remove_recursive(c4iw_debugfs_root); | 1358 | debugfs_remove_recursive(c4iw_debugfs_root); |
diff --git a/drivers/infiniband/hw/cxgb4/iw_cxgb4.h b/drivers/infiniband/hw/cxgb4/iw_cxgb4.h index 125bc5d1e175..361fff7a0742 100644 --- a/drivers/infiniband/hw/cxgb4/iw_cxgb4.h +++ b/drivers/infiniband/hw/cxgb4/iw_cxgb4.h | |||
| @@ -908,7 +908,7 @@ int c4iw_destroy_ctrl_qp(struct c4iw_rdev *rdev); | |||
| 908 | int c4iw_register_device(struct c4iw_dev *dev); | 908 | int c4iw_register_device(struct c4iw_dev *dev); |
| 909 | void c4iw_unregister_device(struct c4iw_dev *dev); | 909 | void c4iw_unregister_device(struct c4iw_dev *dev); |
| 910 | int __init c4iw_cm_init(void); | 910 | int __init c4iw_cm_init(void); |
| 911 | void __exit c4iw_cm_term(void); | 911 | void c4iw_cm_term(void); |
| 912 | void c4iw_release_dev_ucontext(struct c4iw_rdev *rdev, | 912 | void c4iw_release_dev_ucontext(struct c4iw_rdev *rdev, |
| 913 | struct c4iw_dev_ucontext *uctx); | 913 | struct c4iw_dev_ucontext *uctx); |
| 914 | void c4iw_init_dev_ucontext(struct c4iw_rdev *rdev, | 914 | void c4iw_init_dev_ucontext(struct c4iw_rdev *rdev, |
