| From 7046586e1be83254ebd060cccca2bc6f4c305317 Mon Sep 17 00:00:00 2001 |
| From: Colin Ian King <colin.king@canonical.com> |
| 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 <colin.king@canonical.com> |
| Reviewed-by: Maya Erez <merez@codeaurora.org> |
| Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| 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; |
| |
| wil_dbg_txrx(wil, |
| "buff_id is not updated yet by HW, (swhead 0x%x)\n", |
| -- |
| 2.7.4 |
| |