OSDN Git Service

brcmfmac: reserve tx credit only when txctl is ready to send
authorWright Feng <wright.feng@cypress.com>
Thu, 13 Aug 2020 07:00:16 +0000 (02:00 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 18 Aug 2020 14:32:22 +0000 (17:32 +0300)
commit9a2a0862d973c9eab6a1f3efa0d4d18dcedbaf1a
tree31cd243f84ea2b9b3362e598e94ca9ae90b48464
parent9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
brcmfmac: reserve tx credit only when txctl is ready to send

The 4329 throughput drops from 40.2 Mbits/sec to 190 Kbits/sec in 2G
11n mode because the commit b41c232d33666 ("brcmfmac: reserve 2 credits
for host tx control path"). To fix the issue, host driver only reserves
tx control credit when there is a txctl frame is pending to send. And
we also check available credit by using "not equal to 0" instead of
"greater than 0" because tx_max and tx_seq are circled positive numbers.

Reported-by: Dmitry Osipenko <digetx@gmail.com>
Fixes: b41c232d33666 ("brcmfmac: reserve 2 credits for host tx control path")
Signed-off-by: Wright Feng <wright.feng@cypress.com>
Tested-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200813070017.89023-1-wright.feng@cypress.com
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c