]> git.baikalelectronics.ru Git - kernel.git/commitdiff
wifi: p54: add missing parentheses in p54_flush()
authorRustam Subkhankulov <subkhankulov@ispras.ru>
Thu, 14 Jul 2022 13:48:31 +0000 (16:48 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:23:32 +0000 (14:23 +0200)
[ Upstream commit e081b3e2ff51d47b7850114b437be4d3231f7862 ]

The assignment of the value to the variable total in the loop
condition must be enclosed in additional parentheses, since otherwise,
in accordance with the precedence of the operators, the conjunction
will be performed first, and only then the assignment.

Due to this error, a warning later in the function after the loop may
not occur in the situation when it should.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Signed-off-by: Rustam Subkhankulov <subkhankulov@ispras.ru>
Fixes: 4001ef149761 ("p54: implement flush callback")
Acked-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220714134831.106004-1-subkhankulov@ispras.ru
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/intersil/p54/main.c

index a3ca6620dc0c67092faf5cefecfb9407da43ca8e..8fa3ec71603e32e071d42fb1b2746f6708809b10 100644 (file)
@@ -682,7 +682,7 @@ static void p54_flush(struct ieee80211_hw *dev, struct ieee80211_vif *vif,
         * queues have already been stopped and no new frames can sneak
         * up from behind.
         */
-       while ((total = p54_flush_count(priv) && i--)) {
+       while ((total = p54_flush_count(priv)) && i--) {
                /* waste time */
                msleep(20);
        }