blob: 022f2a27d320508ef8697d034a9350144d04644c [file] [log] [blame]
From 7046586e1be83254ebd060cccca2bc6f4c305317 Mon Sep 17 00:00:00 2001
From: Colin Ian King <>
Date: Fri, 15 Nov 2019 12:09:53 +0000
Subject: [PATCH] wil6210: fix break that is never reached because of zero'ing
of a retry counter
commit 5b1413f00b5beb9f5fed94e43ea0c497d5db9633 upstream.
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 <>
Reviewed-by: Maya Erez <>
Signed-off-by: Kalle Valo <>
Signed-off-by: Paul Gortmaker <>
diff --git a/drivers/net/wireless/ath/wil6210/txrx_edma.c b/drivers/net/wireless/ath/wil6210/txrx_edma.c
index f6fce6ff73d9..59e7ec0f6728 100644
--- a/drivers/net/wireless/ath/wil6210/txrx_edma.c
+++ b/drivers/net/wireless/ath/wil6210/txrx_edma.c
@@ -867,6 +867,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));
@@ -881,9 +882,9 @@ static struct sk_buff *wil_sring_reap_rx_edma(struct wil6210_priv *wil,
/* 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;
"buff_id is not updated yet by HW, (swhead 0x%x)\n",