diff --git a/net/tipc/topsrv.c b/net/tipc/topsrv.c index d65eed88c495fba628e9f437ebc3eb6344d8358b..2301b09df23462693d686762faee57586a38f4f8 100644 --- a/net/tipc/topsrv.c +++ b/net/tipc/topsrv.c @@ -371,6 +371,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); return 0; }