wil6210: fix break that is never reached because of zero'ing of a retry counter
authorColin Ian King <colin.king@canonical.com>
Fri, 15 Nov 2019 12:09:53 +0000 (12:09 +0000)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 25 Nov 2019 12:14:26 +0000 (14:14 +0200)
There is a check on the retry counter invalid_buf_id_retry that is always
false because invalid_buf_id_retry is initialized to zero on each iteration
of a while-loop.  Fix this by initializing the retry counter before the
while-loop starts.

Addresses-Coverity: ("Logically dead code")
Fixes: b4a967b7d0f5 ("wil6210: reset buff id in status message after completion")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wil6210/txrx_edma.c

index 778b63b..02548d4 100644 (file)
@@ -869,6 +869,7 @@ static struct sk_buff *wil_sring_reap_rx_edma(struct wil6210_priv *wil,
        u8 data_offset;
        struct wil_rx_status_extended *s;
        u16 sring_idx = sring - wil->srings;
+       int invalid_buff_id_retry;
 
        BUILD_BUG_ON(sizeof(struct wil_rx_status_extended) > sizeof(skb->cb));
 
@@ -882,9 +883,9 @@ again:
        /* Extract the buffer ID from the status message */
        buff_id = le16_to_cpu(wil_rx_status_get_buff_id(msg));
 
+       invalid_buff_id_retry = 0;
        while (!buff_id) {
                struct wil_rx_status_extended *s;
-               int invalid_buff_id_retry = 0;
 
                wil_dbg_txrx(wil,
                             "buff_id is not updated yet by HW, (swhead 0x%x)\n",