From: Alexander Aring Date: Mon, 13 Jun 2022 04:37:34 +0000 (-0400) Subject: mac802154: util: fix release queue handling X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2ec2f6bed4d12a7ed74ed179a5d2879b117105d1;p=linux.git mac802154: util: fix release queue handling The semantic of atomic_dec_and_test() is to return true if zero is reached and we need call ieee802154_wake_queue() when zero is reached. Fixes: 20a19d1df3e4 ("net: mac802154: Bring the ability to hold the transmit queue") Signed-off-by: Alexander Aring Reviewed-by: Miquel Raynal Link: https://lore.kernel.org/r/20220613043735.1039895-2-aahringo@redhat.com Signed-off-by: Stefan Schmidt --- diff --git a/net/mac802154/util.c b/net/mac802154/util.c index 60eb7bd3bfc14..60f6c0f10641b 100644 --- a/net/mac802154/util.c +++ b/net/mac802154/util.c @@ -79,7 +79,7 @@ void ieee802154_release_queue(struct ieee802154_local *local) unsigned long flags; spin_lock_irqsave(&local->phy->queue_lock, flags); - if (!atomic_dec_and_test(&local->phy->hold_txs)) + if (atomic_dec_and_test(&local->phy->hold_txs)) ieee802154_wake_queue(&local->hw); spin_unlock_irqrestore(&local->phy->queue_lock, flags); }