From: Jon Maloy <jon.ma...@ericsson.com>
Date: Wed, 20 Mar 2019 10:59:03 +0100

> From: Erik Hugne <erik.hu...@gmail.com>
> 
> When cancelling a subscription, we have to clear the cancel bit in the
> request before iterating over any established subscriptions with memcmp.
> Otherwise no subscription will ever be found, and it will not be
> possible to explicitly unsubscribe individual subscriptions.
 ...
> diff --git a/net/tipc/topsrv.c b/net/tipc/topsrv.c
> index 4a708a4..b05a89a 100644
> --- a/net/tipc/topsrv.c
> +++ b/net/tipc/topsrv.c
> @@ -363,6 +363,7 @@ static int tipc_conn_rcv_sub(struct tipc_topsrv *srv,
>       struct tipc_subscription *sub;
>  
>       if (tipc_sub_read(s, filter) & TIPC_SUB_CANCEL) {
> +             s->filter ^= __constant_ntohl(TIPC_SUB_CANCEL);
>               tipc_conn_delete_sub(con, s);

It is confusing to say we have to "clear" some bit in a certain
situation and then use a xor operation which "inverts" a bit.

Please use "&= ~VAL" instead.

Thank you.


_______________________________________________
tipc-discussion mailing list
tipc-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to