summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGovind Singh <govinds@codeaurora.org>2019-02-08 13:55:35 +0100
committerKalle Valo <kvalo@codeaurora.org>2019-02-11 17:29:59 +0100
commitc40e448e0bcf1541c0d0c42a197ef4f183a83db0 (patch)
tree9cdda702c5257c14b84f6624999b58d43771fa3a
parentath10k: disable interface pause wow config for integrated chipset (diff)
downloadlinux-c40e448e0bcf1541c0d0c42a197ef4f183a83db0.tar.xz
linux-c40e448e0bcf1541c0d0c42a197ef4f183a83db0.zip
ath10k: request credit report if flow control enabled on ep
FW credit flow control is enabled for only WMI ctrl service(CE3) but credit update is requested unconditionally on all HTC services as part of HTC tx in CE3/CE0/CE4. This is causing WOW failure as FW is not expecting credit report request on other end-points(CE0/CE4). Request credit report only on those endpoints where credit flow control is enabled. Testing: Tested on WCN3990 HW. Tested FW: WLAN.HL.2.0-01192-QCAHLSWMTPLZ-1. Signed-off-by: Govind Singh <govinds@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-rw-r--r--drivers/net/wireless/ath/ath10k/htc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath10k/htc.c b/drivers/net/wireless/ath/ath10k/htc.c
index 7654a21323ce..5aa57a01c033 100644
--- a/drivers/net/wireless/ath/ath10k/htc.c
+++ b/drivers/net/wireless/ath/ath10k/htc.c
@@ -88,7 +88,8 @@ static void ath10k_htc_prepare_tx_skb(struct ath10k_htc_ep *ep,
hdr->eid = ep->eid;
hdr->len = __cpu_to_le16(skb->len - sizeof(*hdr));
hdr->flags = 0;
- hdr->flags |= ATH10K_HTC_FLAG_NEED_CREDIT_UPDATE;
+ if (ep->tx_credit_flow_enabled)
+ hdr->flags |= ATH10K_HTC_FLAG_NEED_CREDIT_UPDATE;
spin_lock_bh(&ep->htc->tx_lock);
hdr->seq_no = ep->seq_no++;