From: <eri...@gm...> - 2019-03-19 10:08:03
|
From: Erik Hugne <eri...@gm...> 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 unsubscribe. Signed-off-by: Erik Hugne <eri...@gm...> --- Ignore my previous garbage patch, this solve the problem with one line. Looking through the history of topsrv.c, i cannot find that this has ever worked. net/tipc/topsrv.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/tipc/topsrv.c b/net/tipc/topsrv.c index 4a708a4e8583..b05a89a723b1 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); return 0; } -- 2.14.1 |