diff options
Diffstat (limited to 'drivers/infiniband/core/iwpm_util.c')
-rw-r--r-- | drivers/infiniband/core/iwpm_util.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/infiniband/core/iwpm_util.c b/drivers/infiniband/core/iwpm_util.c index a626795bf9c7..5fb089e91353 100644 --- a/drivers/infiniband/core/iwpm_util.c +++ b/drivers/infiniband/core/iwpm_util.c | |||
@@ -78,6 +78,7 @@ init_exit: | |||
78 | mutex_unlock(&iwpm_admin_lock); | 78 | mutex_unlock(&iwpm_admin_lock); |
79 | if (!ret) { | 79 | if (!ret) { |
80 | iwpm_set_valid(nl_client, 1); | 80 | iwpm_set_valid(nl_client, 1); |
81 | iwpm_set_registration(nl_client, IWPM_REG_UNDEF); | ||
81 | pr_debug("%s: Mapinfo and reminfo tables are created\n", | 82 | pr_debug("%s: Mapinfo and reminfo tables are created\n", |
82 | __func__); | 83 | __func__); |
83 | } | 84 | } |
@@ -106,6 +107,7 @@ int iwpm_exit(u8 nl_client) | |||
106 | } | 107 | } |
107 | mutex_unlock(&iwpm_admin_lock); | 108 | mutex_unlock(&iwpm_admin_lock); |
108 | iwpm_set_valid(nl_client, 0); | 109 | iwpm_set_valid(nl_client, 0); |
110 | iwpm_set_registration(nl_client, IWPM_REG_UNDEF); | ||
109 | return 0; | 111 | return 0; |
110 | } | 112 | } |
111 | EXPORT_SYMBOL(iwpm_exit); | 113 | EXPORT_SYMBOL(iwpm_exit); |
@@ -397,17 +399,23 @@ void iwpm_set_valid(u8 nl_client, int valid) | |||
397 | } | 399 | } |
398 | 400 | ||
399 | /* valid client */ | 401 | /* valid client */ |
400 | int iwpm_registered_client(u8 nl_client) | 402 | u32 iwpm_get_registration(u8 nl_client) |
401 | { | 403 | { |
402 | return iwpm_admin.reg_list[nl_client]; | 404 | return iwpm_admin.reg_list[nl_client]; |
403 | } | 405 | } |
404 | 406 | ||
405 | /* valid client */ | 407 | /* valid client */ |
406 | void iwpm_set_registered(u8 nl_client, int reg) | 408 | void iwpm_set_registration(u8 nl_client, u32 reg) |
407 | { | 409 | { |
408 | iwpm_admin.reg_list[nl_client] = reg; | 410 | iwpm_admin.reg_list[nl_client] = reg; |
409 | } | 411 | } |
410 | 412 | ||
413 | /* valid client */ | ||
414 | u32 iwpm_check_registration(u8 nl_client, u32 reg) | ||
415 | { | ||
416 | return (iwpm_get_registration(nl_client) & reg); | ||
417 | } | ||
418 | |||
411 | int iwpm_compare_sockaddr(struct sockaddr_storage *a_sockaddr, | 419 | int iwpm_compare_sockaddr(struct sockaddr_storage *a_sockaddr, |
412 | struct sockaddr_storage *b_sockaddr) | 420 | struct sockaddr_storage *b_sockaddr) |
413 | { | 421 | { |