summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
diff options
context:
space:
mode:
authorArend van Spriel2013-04-17 21:25:56 +0200
committerJohn W. Linville2013-04-22 21:20:23 +0200
commit67994fa24accac120a6ae9720ef0cba0166ce121 (patch)
tree6e4ac02133bceea6407792027fa3d73b973e8c8a /drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
parentbrcmfmac: use lock in brcmf_fws_del_interface() (diff)
downloadkernel-qcow2-linux-67994fa24accac120a6ae9720ef0cba0166ce121.tar.gz
kernel-qcow2-linux-67994fa24accac120a6ae9720ef0cba0166ce121.tar.xz
kernel-qcow2-linux-67994fa24accac120a6ae9720ef0cba0166ce121.zip
brcmfmac: finalize transmit upon any rollback failure
All rollback failures should result in freeing of the sk_buff by calling brcmf_txfinalize(). Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
index 1cfec5601c68..13518ecce047 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/fwsignal.c
@@ -1616,7 +1616,6 @@ brcmf_fws_rollback_toq(struct brcmf_fws_info *fws, struct sk_buff *skb)
/* free the hanger slot */
brcmf_fws_hanger_poppkt(&fws->hanger, hslot,
&pktout, true);
- brcmf_txfinalize(fws->drvr, skb, false);
rc = -EINVAL;
goto fail;
}
@@ -1650,9 +1649,10 @@ brcmf_fws_rollback_toq(struct brcmf_fws_info *fws, struct sk_buff *skb)
fail:
- if (rc)
+ if (rc) {
+ brcmf_txfinalize(fws->drvr, skb, false);
fws->stats.rollback_failed++;
- else
+ } else
fws->stats.rollback_success++;
return rc;
}