From f3a1db04f0ebba577598f1577d3c8c756c8bf757 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 29 Feb 2016 17:19:04 +0000 Subject: mac80211: backport from trunk r48782 + required kernel patches and mt76, mwlwifi Signed-off-by: Felix Fietkau git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@48822 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- ...06-brcmfmac-Cleanup-roaming-configuration.patch | 180 --------------------- 1 file changed, 180 deletions(-) delete mode 100644 package/kernel/mac80211/patches/376-0006-brcmfmac-Cleanup-roaming-configuration.patch (limited to 'package/kernel/mac80211/patches/376-0006-brcmfmac-Cleanup-roaming-configuration.patch') diff --git a/package/kernel/mac80211/patches/376-0006-brcmfmac-Cleanup-roaming-configuration.patch b/package/kernel/mac80211/patches/376-0006-brcmfmac-Cleanup-roaming-configuration.patch deleted file mode 100644 index 41b8770dbd..0000000000 --- a/package/kernel/mac80211/patches/376-0006-brcmfmac-Cleanup-roaming-configuration.patch +++ /dev/null @@ -1,180 +0,0 @@ -From: Hante Meuleman -Date: Wed, 25 Nov 2015 11:32:42 +0100 -Subject: [PATCH] brcmfmac: Cleanup roaming configuration. - -Put all roaming configuration related code in one place and -configure timeout based upon roaming setting. - -Reviewed-by: Arend Van Spriel -Reviewed-by: Franky (Zhenhui) Lin -Reviewed-by: Pieter-Paul Giesberts -Signed-off-by: Hante Meuleman -Signed-off-by: Arend van Spriel -Signed-off-by: Kalle Valo ---- - ---- a/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c -+++ b/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c -@@ -4755,7 +4755,6 @@ struct brcmf_cfg80211_vif *brcmf_alloc_v - vif->wdev.iftype = type; - - vif->pm_block = pm_block; -- vif->roam_off = -1; - - brcmf_init_prof(&vif->profile); - -@@ -5305,35 +5304,33 @@ static void init_vif_event(struct brcmf_ - mutex_init(&event->vif_event_lock); - } - --static s32 --brcmf_dongle_roam(struct brcmf_if *ifp, u32 bcn_timeout) -+static s32 brcmf_dongle_roam(struct brcmf_if *ifp) - { -- s32 err = 0; -+ s32 err; -+ u32 bcn_timeout; - __le32 roamtrigger[2]; - __le32 roam_delta[2]; - -- /* -- * Setup timeout if Beacons are lost and roam is -- * off to report link down -- */ -- if (brcmf_roamoff) { -- err = brcmf_fil_iovar_int_set(ifp, "bcn_timeout", bcn_timeout); -- if (err) { -- brcmf_err("bcn_timeout error (%d)\n", err); -- goto dongle_rom_out; -- } -+ /* Configure beacon timeout value based upon roaming setting */ -+ if (brcmf_roamoff) -+ bcn_timeout = BRCMF_DEFAULT_BCN_TIMEOUT_ROAM_OFF; -+ else -+ bcn_timeout = BRCMF_DEFAULT_BCN_TIMEOUT_ROAM_ON; -+ err = brcmf_fil_iovar_int_set(ifp, "bcn_timeout", bcn_timeout); -+ if (err) { -+ brcmf_err("bcn_timeout error (%d)\n", err); -+ goto roam_setup_done; - } - -- /* -- * Enable/Disable built-in roaming to allow supplicant -- * to take care of roaming -+ /* Enable/Disable built-in roaming to allow supplicant to take care of -+ * roaming. - */ - brcmf_dbg(INFO, "Internal Roaming = %s\n", - brcmf_roamoff ? "Off" : "On"); - err = brcmf_fil_iovar_int_set(ifp, "roam_off", !!(brcmf_roamoff)); - if (err) { - brcmf_err("roam_off error (%d)\n", err); -- goto dongle_rom_out; -+ goto roam_setup_done; - } - - roamtrigger[0] = cpu_to_le32(WL_ROAM_TRIGGER_LEVEL); -@@ -5342,7 +5339,7 @@ brcmf_dongle_roam(struct brcmf_if *ifp, - (void *)roamtrigger, sizeof(roamtrigger)); - if (err) { - brcmf_err("WLC_SET_ROAM_TRIGGER error (%d)\n", err); -- goto dongle_rom_out; -+ goto roam_setup_done; - } - - roam_delta[0] = cpu_to_le32(WL_ROAM_DELTA); -@@ -5351,10 +5348,10 @@ brcmf_dongle_roam(struct brcmf_if *ifp, - (void *)roam_delta, sizeof(roam_delta)); - if (err) { - brcmf_err("WLC_SET_ROAM_DELTA error (%d)\n", err); -- goto dongle_rom_out; -+ goto roam_setup_done; - } - --dongle_rom_out: -+roam_setup_done: - return err; - } - -@@ -6069,7 +6066,7 @@ static s32 brcmf_config_dongle(struct br - brcmf_dbg(INFO, "power save set to %s\n", - (power_mode ? "enabled" : "disabled")); - -- err = brcmf_dongle_roam(ifp, WL_BEACON_TIMEOUT); -+ err = brcmf_dongle_roam(ifp); - if (err) - goto default_conf_out; - err = brcmf_cfg80211_change_iface(wdev->wiphy, ndev, wdev->iftype, ---- a/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.h -+++ b/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.h -@@ -28,7 +28,6 @@ - #define WL_EXTRA_BUF_MAX 2048 - #define WL_ROAM_TRIGGER_LEVEL -75 - #define WL_ROAM_DELTA 20 --#define WL_BEACON_TIMEOUT 3 - - #define WL_SCAN_CHANNEL_TIME 40 - #define WL_SCAN_UNASSOC_TIME 40 -@@ -77,6 +76,9 @@ - - #define BRCMF_MAX_DEFAULT_KEYS 4 - -+/* beacon loss timeout defaults */ -+#define BRCMF_DEFAULT_BCN_TIMEOUT_ROAM_ON 2 -+#define BRCMF_DEFAULT_BCN_TIMEOUT_ROAM_OFF 4 - - /** - * enum brcmf_scan_status - scan engine status -@@ -178,7 +180,6 @@ struct vif_saved_ie { - * @ifp: lower layer interface pointer - * @wdev: wireless device. - * @profile: profile information. -- * @roam_off: roaming state. - * @sme_state: SME state using enum brcmf_vif_status bits. - * @pm_block: power-management blocked. - * @list: linked list. -@@ -189,7 +190,6 @@ struct brcmf_cfg80211_vif { - struct brcmf_if *ifp; - struct wireless_dev wdev; - struct brcmf_cfg80211_profile profile; -- s32 roam_off; - unsigned long sme_state; - bool pm_block; - struct vif_saved_ie saved_ie; ---- a/drivers/net/wireless/brcm80211/brcmfmac/common.c -+++ b/drivers/net/wireless/brcm80211/brcmfmac/common.c -@@ -29,7 +29,6 @@ - - const u8 ALLFFMAC[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; - --#define BRCMF_DEFAULT_BCN_TIMEOUT 3 - #define BRCMF_DEFAULT_SCAN_CHANNEL_TIME 40 - #define BRCMF_DEFAULT_SCAN_UNASSOC_TIME 40 - -@@ -107,26 +106,6 @@ int brcmf_c_preinit_dcmds(struct brcmf_i - goto done; - } - -- /* -- * Setup timeout if Beacons are lost and roam is off to report -- * link down -- */ -- err = brcmf_fil_iovar_int_set(ifp, "bcn_timeout", -- BRCMF_DEFAULT_BCN_TIMEOUT); -- if (err) { -- brcmf_err("bcn_timeout error (%d)\n", err); -- goto done; -- } -- -- /* Enable/Disable build-in roaming to allowed ext supplicant to take -- * of romaing -- */ -- err = brcmf_fil_iovar_int_set(ifp, "roam_off", 1); -- if (err) { -- brcmf_err("roam_off error (%d)\n", err); -- goto done; -- } -- - /* Setup join_pref to select target by RSSI(with boost on 5GHz) */ - join_pref_params[0].type = BRCMF_JOIN_PREF_RSSI_DELTA; - join_pref_params[0].len = 2; -- cgit v1.2.3