diff --git a/net/neuron/protocol/prot_block_client.c b/net/neuron/protocol/prot_block_client.c index 4a0041140976..f82d0b92b5de 100644 --- a/net/neuron/protocol/prot_block_client.c +++ b/net/neuron/protocol/prot_block_client.c @@ -178,8 +178,8 @@ static int protocol_block_client_thread(void *data) skb_req = NULL; /* Wait for the channels to start */ - wakeup_mask = 0; while (!kthread_should_stop()) { + wakeup_mask = 0; if (!channel_dev->max_size || !channel_dev->queue_length) wakeup_mask |= CHANNEL_BIT(C_IN); @@ -192,10 +192,6 @@ static int protocol_block_client_thread(void *data) wait_event_killable(kdata->wait_q, kthread_should_stop() || (kdata->wakeups & wakeup_mask)); - - wakeup_mask &= ~xchg(&kdata->wakeups, 0); - /* flush shared variable to memory */ - smp_mb__after_atomic(); } if (kthread_should_stop()) return 0;