diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2017-02-02 09:59:05 +0100 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2017-02-06 00:10:49 +0100 |
commit | c578da619860716b338247e92e60cda67bab0b68 (patch) | |
tree | a660577665b5b55d7ceac03aef254cf567511026 /package/kernel/mac80211/patches/361-0003-brcmfmac-fix-incorrect-event-channel-deduction.patch | |
parent | 4b9bdb48d904fadb8d32510490f1b9f5c35ee6b2 (diff) | |
download | mtk-20170518-c578da619860716b338247e92e60cda67bab0b68.zip mtk-20170518-c578da619860716b338247e92e60cda67bab0b68.tar.gz mtk-20170518-c578da619860716b338247e92e60cda67bab0b68.tar.bz2 |
mac80211: brcmfmac: backport minor code cleanups
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'package/kernel/mac80211/patches/361-0003-brcmfmac-fix-incorrect-event-channel-deduction.patch')
-rw-r--r-- | package/kernel/mac80211/patches/361-0003-brcmfmac-fix-incorrect-event-channel-deduction.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/361-0003-brcmfmac-fix-incorrect-event-channel-deduction.patch b/package/kernel/mac80211/patches/361-0003-brcmfmac-fix-incorrect-event-channel-deduction.patch new file mode 100644 index 0000000..aa97762 --- /dev/null +++ b/package/kernel/mac80211/patches/361-0003-brcmfmac-fix-incorrect-event-channel-deduction.patch @@ -0,0 +1,34 @@ +From 8e290cecdd0178f3d4cf7d463c51dc7e462843b4 Mon Sep 17 00:00:00 2001 +From: Gavin Li <git@thegavinli.com> +Date: Tue, 17 Jan 2017 15:24:05 -0800 +Subject: [PATCH] brcmfmac: fix incorrect event channel deduction + +brcmf_sdio_fromevntchan() was being called on the the data frame +rather than the software header, causing some frames to be +mischaracterized as on the event channel rather than the data channel. + +This fixes a major performance regression (due to dropped packets). With +this patch the download speed jumped from 1Mbit/s back up to 40MBit/s due +to the sheer amount of packets being incorrectly processed. + +Fixes: c56caa9db8ab ("brcmfmac: screening firmware event packet") +Signed-off-by: Gavin Li <git@thegavinli.com> +Cc: <stable@vger.kernel.org> # 4.7+ +Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com> +[kvalo@codeaurora.org: improve commit logs based on email discussion] +Signed-off-by: Kalle Valo <kvalo@codeaurora.org> +--- + drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +@@ -1661,7 +1661,7 @@ static u8 brcmf_sdio_rxglom(struct brcmf + pfirst->len, pfirst->next, + pfirst->prev); + skb_unlink(pfirst, &bus->glom); +- if (brcmf_sdio_fromevntchan(pfirst->data)) ++ if (brcmf_sdio_fromevntchan(&dptr[SDPCM_HWHDR_LEN])) + brcmf_rx_event(bus->sdiodev->dev, pfirst); + else + brcmf_rx_frame(bus->sdiodev->dev, pfirst, |