projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
RDMA/core: Fixes for port mapper client registration
[deliverable/linux.git]
/
drivers
/
infiniband
/
core
/
iwpm_util.c
diff --git
a/drivers/infiniband/core/iwpm_util.c
b/drivers/infiniband/core/iwpm_util.c
index a626795bf9c71f43f7d526d07ae3a490399fdb79..5fb089e913530c54a9852d4ae6fabcda24a00451 100644
(file)
--- a/
drivers/infiniband/core/iwpm_util.c
+++ b/
drivers/infiniband/core/iwpm_util.c
@@
-78,6
+78,7
@@
init_exit:
mutex_unlock(&iwpm_admin_lock);
if (!ret) {
iwpm_set_valid(nl_client, 1);
mutex_unlock(&iwpm_admin_lock);
if (!ret) {
iwpm_set_valid(nl_client, 1);
+ iwpm_set_registration(nl_client, IWPM_REG_UNDEF);
pr_debug("%s: Mapinfo and reminfo tables are created\n",
__func__);
}
pr_debug("%s: Mapinfo and reminfo tables are created\n",
__func__);
}
@@
-106,6
+107,7
@@
int iwpm_exit(u8 nl_client)
}
mutex_unlock(&iwpm_admin_lock);
iwpm_set_valid(nl_client, 0);
}
mutex_unlock(&iwpm_admin_lock);
iwpm_set_valid(nl_client, 0);
+ iwpm_set_registration(nl_client, IWPM_REG_UNDEF);
return 0;
}
EXPORT_SYMBOL(iwpm_exit);
return 0;
}
EXPORT_SYMBOL(iwpm_exit);
@@
-397,17
+399,23
@@
void iwpm_set_valid(u8 nl_client, int valid)
}
/* valid client */
}
/* valid client */
-
int iwpm_registered_client
(u8 nl_client)
+
u32 iwpm_get_registration
(u8 nl_client)
{
return iwpm_admin.reg_list[nl_client];
}
/* valid client */
{
return iwpm_admin.reg_list[nl_client];
}
/* valid client */
-void iwpm_set_regist
ered(u8 nl_client, int
reg)
+void iwpm_set_regist
ration(u8 nl_client, u32
reg)
{
iwpm_admin.reg_list[nl_client] = reg;
}
{
iwpm_admin.reg_list[nl_client] = reg;
}
+/* valid client */
+u32 iwpm_check_registration(u8 nl_client, u32 reg)
+{
+ return (iwpm_get_registration(nl_client) & reg);
+}
+
int iwpm_compare_sockaddr(struct sockaddr_storage *a_sockaddr,
struct sockaddr_storage *b_sockaddr)
{
int iwpm_compare_sockaddr(struct sockaddr_storage *a_sockaddr,
struct sockaddr_storage *b_sockaddr)
{
This page took
0.023898 seconds
and
5
git commands to generate.