brcmfmac: fix throughput zero stalls on PM 1 mode due to credit map
authorDouble Lo <double.lo@cypress.com>
Wed, 10 Jun 2020 15:21:05 +0000 (10:21 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 14 Jul 2020 09:46:46 +0000 (12:46 +0300)
This patch move the credit map setting to right place to avoid
brcmf_fws_return_credits() return without setting the credit map.
It fix the thoughput zero stalls issue in softAP mode when STA
using PM 1 mode.

Signed-off-by: Double Lo <double.lo@cypress.com>
Signed-off-by: Chi-hsien Lin <chi-hsien.lin@cypress.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200610152106.175257-6-chi-hsien.lin@cypress.com
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c

index 2758e70..4fefa7c 100644 (file)
@@ -1193,6 +1193,8 @@ static void brcmf_fws_return_credits(struct brcmf_fws_info *fws,
        if (!credits)
                return;
 
+       fws->fifo_credit_map |= 1 << fifo;
+
        if (fifo > BRCMF_FWS_FIFO_AC_BK &&
            fifo <= BRCMF_FWS_FIFO_AC_VO) {
                for (lender_ac = BRCMF_FWS_FIFO_AC_VO; lender_ac >= 0;
@@ -1216,7 +1218,6 @@ static void brcmf_fws_return_credits(struct brcmf_fws_info *fws,
 
        if (credits) {
                fws->fifo_credit[fifo] += credits;
-               fws->fifo_credit_map |= 1 << fifo;
        }
 
        if (fws->fifo_credit[fifo] > fws->init_fifo_credit[fifo])