summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
diff options
context:
space:
mode:
authorWataru Gohda <wataru.gohda@cypress.com>2022-07-22 13:56:30 +0200
committerKalle Valo <kvalo@kernel.org>2022-08-10 08:47:22 +0300
commit2eee3db784a045289ebc62fc3bdbe0eb36b73a3d (patch)
treedfce90559d12d549527242f71756c604b6073c97 /drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
parent5606aeaad01e0b0ad09c021cfa44ee18fc4ae33b (diff)
downloadlinux-stable-2eee3db784a045289ebc62fc3bdbe0eb36b73a3d.tar.gz
linux-stable-2eee3db784a045289ebc62fc3bdbe0eb36b73a3d.tar.bz2
linux-stable-2eee3db784a045289ebc62fc3bdbe0eb36b73a3d.zip
wifi: brcmfmac: Fix to add skb free for TIM update info when tx is completed
The skb will be allocated to send TIM update info in brcmf_fws_tim_update. Currently the skb will be freed when tx is failed but it will not be freed when tx is completed successfully. The fix is to free the skb when tx is completed always. Signed-off-by: Wataru Gohda <wataru.gohda@cypress.com> Signed-off-by: Chi-hsien Lin <chi-hsien.lin@cypress.com> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Alvin Šipraga <alsi@bang-olufsen.dk> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20220722115632.620681-6-alvin@pqrs.dk
Diffstat (limited to 'drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c')
-rw-r--r--drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
index 2c95a08a5871..02a56edf08ba 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
@@ -368,8 +368,7 @@ brcmf_proto_bcdc_txcomplete(struct device *dev, struct sk_buff *txp,
/* await txstatus signal for firmware if active */
if (brcmf_fws_fc_active(bcdc->fws)) {
- if (!success)
- brcmf_fws_bustxfail(bcdc->fws, txp);
+ brcmf_fws_bustxcomplete(bcdc->fws, txp, success);
} else {
if (brcmf_proto_bcdc_hdrpull(bus_if->drvr, false, txp, &ifp))
brcmu_pkt_buf_free_skb(txp);