diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.9/0092-brcm-adds-support-for-BCM43341-wifi.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.9/0092-brcm-adds-support-for-BCM43341-wifi.patch | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/target/linux/brcm2708/patches-4.9/0092-brcm-adds-support-for-BCM43341-wifi.patch b/target/linux/brcm2708/patches-4.9/0092-brcm-adds-support-for-BCM43341-wifi.patch deleted file mode 100644 index f4055f7..0000000 --- a/target/linux/brcm2708/patches-4.9/0092-brcm-adds-support-for-BCM43341-wifi.patch +++ /dev/null @@ -1,157 +0,0 @@ -From 2d888bed201222f294deb8a27641f7f9919dab54 Mon Sep 17 00:00:00 2001 -From: Cheong2K <cheong@redbear.cc> -Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH] brcm: adds support for BCM43341 wifi - -brcmfmac: Disable power management - -Disable wireless power saving in the brcmfmac WLAN driver. This is a -temporary measure until the connectivity loss resulting from power -saving is resolved. - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> - -brcmfmac: Use original country code as a fallback - -Commit 73345fd212980d2e28a5c6d83801c903bd773680: - - brcmfmac: Configure country code using device specific settings - -prevents region codes from working on devices that lack a region code -translation table. In the event of an absent table, preserve the old -behaviour of using the provided code as-is. - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> - -brcmfmac: Plug memory leak in brcmf_fill_bss_param - -See: https://github.com/raspberrypi/linux/issues/1471 - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> - -brcmfmac: do not use internal roaming engine by default - -Some evidence of curing disconnects with this disabled, so make it a default. -Can be overridden with module parameter roamoff=0 -See: http://projectable.me/optimize-my-pi-wi-fi/ - -brcmfmac: Change stop_ap sequence - -Patch from Broadcom/Cypress to resolve a customer error - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> ---- - .../broadcom/brcm80211/brcmfmac/cfg80211.c | 31 ++++++++++++++++------ - .../wireless/broadcom/brcm80211/brcmfmac/common.c | 2 +- - .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 2 ++ - .../broadcom/brcm80211/include/brcm_hw_ids.h | 1 + - 4 files changed, 27 insertions(+), 9 deletions(-) - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -2756,6 +2756,8 @@ brcmf_cfg80211_set_power_mgmt(struct wip - * preference in cfg struct to apply this to - * FW later while initializing the dongle - */ -+ pr_info("power management disabled\n"); -+ enabled = false; - cfg->pwr_save = enabled; - if (!check_vif_up(ifp->vif)) { - -@@ -4750,12 +4752,15 @@ static int brcmf_cfg80211_stop_ap(struct - err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_DOWN, 1); - if (err < 0) - brcmf_err("BRCMF_C_DOWN error %d\n", err); -- err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_AP, 0); -- if (err < 0) -- brcmf_err("setting AP mode failed %d\n", err); -+ - err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_INFRA, 0); - if (err < 0) - brcmf_err("setting INFRA mode failed %d\n", err); -+ -+ err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_AP, 0); -+ if (err < 0) -+ brcmf_err("setting AP mode failed %d\n", err); -+ - if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MBSS)) - brcmf_fil_iovar_int_set(ifp, "mbss", 0); - brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_REGULATORY, -@@ -6737,12 +6742,18 @@ static s32 brcmf_translate_country_code( - struct brcmfmac_pd_cc *country_codes; - struct brcmfmac_pd_cc_entry *cc; - s32 found_index; -+ char ccode[BRCMF_COUNTRY_BUF_SZ]; -+ int rev; - int i; - -+ memcpy(ccode, alpha2, sizeof(ccode)); -+ rev = -1; -+ - country_codes = drvr->settings->country_codes; - if (!country_codes) { -- brcmf_dbg(TRACE, "No country codes configured for device\n"); -- return -EINVAL; -+ brcmf_dbg(TRACE, "No country codes configured for device" -+ " - use requested value\n"); -+ goto use_input_value; - } - - if ((alpha2[0] == ccreq->country_abbrev[0]) && -@@ -6766,10 +6777,14 @@ static s32 brcmf_translate_country_code( - brcmf_dbg(TRACE, "No country code match found\n"); - return -EINVAL; - } -- memset(ccreq, 0, sizeof(*ccreq)); -- ccreq->rev = cpu_to_le32(country_codes->table[found_index].rev); -- memcpy(ccreq->ccode, country_codes->table[found_index].cc, -+ rev = country_codes->table[found_index].rev; -+ memcpy(ccode, country_codes->table[found_index].cc, - BRCMF_COUNTRY_BUF_SZ); -+ -+use_input_value: -+ memset(ccreq, 0, sizeof(*ccreq)); -+ ccreq->rev = cpu_to_le32(rev); -+ memcpy(ccreq->ccode, ccode, sizeof(ccode)); - ccreq->country_abbrev[0] = alpha2[0]; - ccreq->country_abbrev[1] = alpha2[1]; - ccreq->country_abbrev[2] = 0; ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c -@@ -69,7 +69,7 @@ static int brcmf_fcmode; - module_param_named(fcmode, brcmf_fcmode, int, 0); - MODULE_PARM_DESC(fcmode, "Mode of firmware signalled flow control"); - --static int brcmf_roamoff; -+static int brcmf_roamoff = 1; - module_param_named(roamoff, brcmf_roamoff, int, S_IRUSR); - MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine"); - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -@@ -604,6 +604,7 @@ BRCMF_FW_NVRAM_DEF(4329, "brcmfmac4329-s - BRCMF_FW_NVRAM_DEF(4330, "brcmfmac4330-sdio.bin", "brcmfmac4330-sdio.txt"); - BRCMF_FW_NVRAM_DEF(4334, "brcmfmac4334-sdio.bin", "brcmfmac4334-sdio.txt"); - BRCMF_FW_NVRAM_DEF(43340, "brcmfmac43340-sdio.bin", "brcmfmac43340-sdio.txt"); -+BRCMF_FW_NVRAM_DEF(43341, "brcmfmac43341-sdio.bin", "brcmfmac43341-sdio.txt"); - BRCMF_FW_NVRAM_DEF(4335, "brcmfmac4335-sdio.bin", "brcmfmac4335-sdio.txt"); - BRCMF_FW_NVRAM_DEF(43362, "brcmfmac43362-sdio.bin", "brcmfmac43362-sdio.txt"); - BRCMF_FW_NVRAM_DEF(4339, "brcmfmac4339-sdio.bin", "brcmfmac4339-sdio.txt"); -@@ -621,6 +622,7 @@ static struct brcmf_firmware_mapping brc - BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, 4330), - BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, 4334), - BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, 43340), -+ BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43341_CHIP_ID, 0xFFFFFFFF, 43341), - BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4335_CHIP_ID, 0xFFFFFFFF, 4335), - BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), - BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), ---- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h -+++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h -@@ -36,6 +36,7 @@ - #define BRCM_CC_4330_CHIP_ID 0x4330 - #define BRCM_CC_4334_CHIP_ID 0x4334 - #define BRCM_CC_43340_CHIP_ID 43340 -+#define BRCM_CC_43341_CHIP_ID 43341 - #define BRCM_CC_43362_CHIP_ID 43362 - #define BRCM_CC_4335_CHIP_ID 0x4335 - #define BRCM_CC_4339_CHIP_ID 0x4339 |