aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/wil6210/wil6210.h
diff options
context:
space:
mode:
authorMaya Erez <merez@codeaurora.org>2019-02-28 11:35:08 +0200
committerKalle Valo <kvalo@codeaurora.org>2019-04-03 15:45:17 +0300
commitb4a967b7d0f5cee75cfa343b7498eb92a8735594 (patch)
tree08facfcd93d77f0d3cdb47f97eb79cc63d1f224f /drivers/net/wireless/ath/wil6210/wil6210.h
parentwil6210: add support for ucode tracing (diff)
downloadlinux-dev-b4a967b7d0f5cee75cfa343b7498eb92a8735594.tar.xz
linux-dev-b4a967b7d0f5cee75cfa343b7498eb92a8735594.zip
wil6210: reset buff id in status message after completion
Since DR bit and buffer id are written in different dwords of the status message, the DR bit can already be set to 1 while the buffer id is not updated yet. Resetting the buffer id in the status message will allow the driver to identify such cases and re-read the status message until the buffer id is written by HW. In case DR bit is set but buffer id is zero, need to read the status message again, until a valid id is identified. In addition to that, move the completed buffer id to the tail of the free list to prevent its immediate reuse in the upcoming refill. Signed-off-by: Maya Erez <merez@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/ath/wil6210/wil6210.h')
-rw-r--r--drivers/net/wireless/ath/wil6210/wil6210.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/wil6210/wil6210.h b/drivers/net/wireless/ath/wil6210/wil6210.h
index f508d52c867a..8724d9975606 100644
--- a/drivers/net/wireless/ath/wil6210/wil6210.h
+++ b/drivers/net/wireless/ath/wil6210/wil6210.h
@@ -568,6 +568,7 @@ struct wil_status_ring {
bool is_rx;
u8 desc_rdy_pol; /* Expected descriptor ready bit polarity */
struct wil_ring_rx_data rx_data;
+ u32 invalid_buff_id_cnt; /* relevant only for RX */
};
#define WIL_STA_TID_NUM (16)