diff options
Diffstat (limited to 'package/kernel/mac80211/patches/376-0004-brcmfmac-no-retries-on-rxglom-superframe-errors.patch')
-rw-r--r-- | package/kernel/mac80211/patches/376-0004-brcmfmac-no-retries-on-rxglom-superframe-errors.patch | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/package/kernel/mac80211/patches/376-0004-brcmfmac-no-retries-on-rxglom-superframe-errors.patch b/package/kernel/mac80211/patches/376-0004-brcmfmac-no-retries-on-rxglom-superframe-errors.patch deleted file mode 100644 index dfc3a983bd..0000000000 --- a/package/kernel/mac80211/patches/376-0004-brcmfmac-no-retries-on-rxglom-superframe-errors.patch +++ /dev/null @@ -1,76 +0,0 @@ -From: Franky Lin <frankyl@broadcom.com> -Date: Wed, 25 Nov 2015 11:32:40 +0100 -Subject: [PATCH] brcmfmac: no retries on rxglom superframe errors - -Aborting the current read attempt on the superframe also removes the -packet from the pipeline. Retries should not be attempted on the next -packet since it would not be a superframe(either a superframe descriptor -or other data packet) and should not be handled by brcmf_sdio_rxglom - -Reviewed-by: Hante Meuleman <meuleman@broadcom.com> -Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> -Reviewed-by: Arend Van Spriel <arend@broadcom.com> -Signed-off-by: Franky Lin <frankyl@broadcom.com> -Signed-off-by: Arend van Spriel <arend@broadcom.com> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> ---- - ---- a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c -+++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c -@@ -460,7 +460,6 @@ struct brcmf_sdio { - - struct sk_buff *glomd; /* Packet containing glomming descriptor */ - struct sk_buff_head glom; /* Packet list for glommed superframe */ -- uint glomerr; /* Glom packet read errors */ - - u8 *rxbuf; /* Buffer for receiving control packets */ - uint rxblen; /* Allocated length of rxbuf */ -@@ -1654,20 +1653,15 @@ static u8 brcmf_sdio_rxglom(struct brcmf - sdio_release_host(bus->sdiodev->func[1]); - bus->sdcnt.f2rxdata++; - -- /* On failure, kill the superframe, allow a couple retries */ -+ /* On failure, kill the superframe */ - if (errcode < 0) { - brcmf_err("glom read of %d bytes failed: %d\n", - dlen, errcode); - - sdio_claim_host(bus->sdiodev->func[1]); -- if (bus->glomerr++ < 3) { -- brcmf_sdio_rxfail(bus, true, true); -- } else { -- bus->glomerr = 0; -- brcmf_sdio_rxfail(bus, true, false); -- bus->sdcnt.rxglomfail++; -- brcmf_sdio_free_glom(bus); -- } -+ brcmf_sdio_rxfail(bus, true, false); -+ bus->sdcnt.rxglomfail++; -+ brcmf_sdio_free_glom(bus); - sdio_release_host(bus->sdiodev->func[1]); - return 0; - } -@@ -1708,19 +1702,11 @@ static u8 brcmf_sdio_rxglom(struct brcmf - } - - if (errcode) { -- /* Terminate frame on error, request -- a couple retries */ -+ /* Terminate frame on error */ - sdio_claim_host(bus->sdiodev->func[1]); -- if (bus->glomerr++ < 3) { -- /* Restore superframe header space */ -- skb_push(pfirst, sfdoff); -- brcmf_sdio_rxfail(bus, true, true); -- } else { -- bus->glomerr = 0; -- brcmf_sdio_rxfail(bus, true, false); -- bus->sdcnt.rxglomfail++; -- brcmf_sdio_free_glom(bus); -- } -+ brcmf_sdio_rxfail(bus, true, false); -+ bus->sdcnt.rxglomfail++; -+ brcmf_sdio_free_glom(bus); - sdio_release_host(bus->sdiodev->func[1]); - bus->cur_read.len = 0; - return 0; |