From: Arik Nemtsov <arik@wizery.com>
Date: Thu, 10 May 2012 09:13:46 +0000 (+0300)
Subject: wl18xx: init Tx-released index to 0 on HW init
X-Git-Tag: firefly_0821_release~3680^2~2381^2~57^2~229^2~130
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f2baf075c5121b30922751f34920815743d7ee67;p=firefly-linux-kernel-4.4.55.git

wl18xx: init Tx-released index to 0 on HW init

This ensures the index is 0 on FW recovery and prevents spurious error
prints - "WARNING illegal id in tx completion".

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
---

diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c
index 9aae0af25fef..a8b9ceacd9c2 100644
--- a/drivers/net/wireless/ti/wl18xx/main.c
+++ b/drivers/net/wireless/ti/wl18xx/main.c
@@ -850,11 +850,15 @@ static void wl18xx_tx_immediate_completion(struct wl1271 *wl)
 static int wl18xx_hw_init(struct wl1271 *wl)
 {
 	int ret;
+	struct wl18xx_priv *priv = wl->priv;
 	u32 host_cfg_bitmap = HOST_IF_CFG_RX_FIFO_ENABLE |
 		HOST_IF_CFG_ADD_RX_ALIGNMENT;
 
 	u32 sdio_align_size = 0;
 
+	/* (re)init private structures. Relevant on recovery as well. */
+	priv->last_fw_rls_idx = 0;
+
 	/* Enable Tx SDIO padding */
 	if (wl->quirks & WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN) {
 		host_cfg_bitmap |= HOST_IF_CFG_TX_PAD_TO_SDIO_BLK;