Commit 38716732 authored by Leon Romanovsky's avatar Leon Romanovsky Committed by Jason Gunthorpe
Browse files

RDMA/netlink: Simplify netlink listener existence check



All users of rdma_nl_chk_listeners() are interested to get boolean answer
if netlink socket has listeners, so update all places to boolean function.

Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Reviewed-by: default avatarDennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent d31131bb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -315,7 +315,7 @@ static void queue_req(struct addr_req *req)
static int ib_nl_fetch_ha(struct rdma_dev_addr *dev_addr,
			  const void *daddr, u32 seq, u16 family)
{
	if (rdma_nl_chk_listeners(RDMA_NL_GROUP_LS))
	if (!rdma_nl_chk_listeners(RDMA_NL_GROUP_LS))
		return -EADDRNOTAVAIL;

	return ib_nl_ip_send_msg(dev_addr, daddr, seq, family);
+2 −2
Original line number Diff line number Diff line
@@ -47,9 +47,9 @@ static struct {
	const struct rdma_nl_cbs   *cb_table;
} rdma_nl_types[RDMA_NL_NUM_CLIENTS];

int rdma_nl_chk_listeners(unsigned int group)
bool rdma_nl_chk_listeners(unsigned int group)
{
	return (netlink_has_listeners(nls, group)) ? 0 : -1;
	return netlink_has_listeners(nls, group);
}
EXPORT_SYMBOL(rdma_nl_chk_listeners);

+1 −1
Original line number Diff line number Diff line
@@ -1384,7 +1384,7 @@ static int send_mad(struct ib_sa_query *query, int timeout_ms, gfp_t gfp_mask)

	if ((query->flags & IB_SA_ENABLE_LOCAL_SERVICE) &&
	    (!(query->flags & IB_SA_QUERY_OPA))) {
		if (!rdma_nl_chk_listeners(RDMA_NL_GROUP_LS)) {
		if (rdma_nl_chk_listeners(RDMA_NL_GROUP_LS)) {
			if (!ib_nl_make_request(query, gfp_mask))
				return id;
		}
+2 −2
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ int rdma_nl_multicast(struct sk_buff *skb, unsigned int group, gfp_t flags);
/**
 * Check if there are any listeners to the netlink group
 * @group: the netlink group ID
 * Returns 0 on success or a negative for no listeners.
 * Returns true on success or false if no listeners.
 */
int rdma_nl_chk_listeners(unsigned int group);
bool rdma_nl_chk_listeners(unsigned int group);
#endif /* _RDMA_NETLINK_H */