aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/376-0001-brcmfmac-Cleanup-ssid-storage.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/376-0001-brcmfmac-Cleanup-ssid-storage.patch')
-rw-r--r--package/kernel/mac80211/patches/376-0001-brcmfmac-Cleanup-ssid-storage.patch251
1 files changed, 0 insertions, 251 deletions
diff --git a/package/kernel/mac80211/patches/376-0001-brcmfmac-Cleanup-ssid-storage.patch b/package/kernel/mac80211/patches/376-0001-brcmfmac-Cleanup-ssid-storage.patch
deleted file mode 100644
index 83f1ebe907..0000000000
--- a/package/kernel/mac80211/patches/376-0001-brcmfmac-Cleanup-ssid-storage.patch
+++ /dev/null
@@ -1,251 +0,0 @@
-From: Hante Meuleman <meuleman@broadcom.com>
-Date: Wed, 25 Nov 2015 11:32:37 +0100
-Subject: [PATCH] brcmfmac: Cleanup ssid storage.
-
-SSIDs used for connect and p2p got stored, but never used.
-
-Reviewed-by: Arend Van Spriel <arend@broadcom.com>
-Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
-Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
-Signed-off-by: Hante Meuleman <meuleman@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/cfg80211.c
-+++ b/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.c
-@@ -959,7 +959,7 @@ brcmf_run_escan(struct brcmf_cfg80211_in
- params_size += sizeof(u32) * ((request->n_channels + 1) / 2);
-
- /* Allocate space for populating ssids in struct */
-- params_size += sizeof(struct brcmf_ssid) * request->n_ssids;
-+ params_size += sizeof(struct brcmf_ssid_le) * request->n_ssids;
- }
-
- params = kzalloc(params_size, GFP_KERNEL);
-@@ -1291,6 +1291,7 @@ brcmf_cfg80211_join_ibss(struct wiphy *w
- s32 wsec = 0;
- s32 bcnprd;
- u16 chanspec;
-+ u32 ssid_len;
-
- brcmf_dbg(TRACE, "Enter\n");
- if (!check_vif_up(ifp->vif))
-@@ -1368,17 +1369,15 @@ brcmf_cfg80211_join_ibss(struct wiphy *w
- memset(&join_params, 0, sizeof(struct brcmf_join_params));
-
- /* SSID */
-- profile->ssid.SSID_len = min_t(u32, params->ssid_len, 32);
-- memcpy(profile->ssid.SSID, params->ssid, profile->ssid.SSID_len);
-- memcpy(join_params.ssid_le.SSID, params->ssid, profile->ssid.SSID_len);
-- join_params.ssid_le.SSID_len = cpu_to_le32(profile->ssid.SSID_len);
-+ ssid_len = min_t(u32, params->ssid_len, IEEE80211_MAX_SSID_LEN);
-+ memcpy(join_params.ssid_le.SSID, params->ssid, ssid_len);
-+ join_params.ssid_le.SSID_len = cpu_to_le32(ssid_len);
- join_params_size = sizeof(join_params.ssid_le);
-
- /* BSSID */
- if (params->bssid) {
- memcpy(join_params.params_le.bssid, params->bssid, ETH_ALEN);
-- join_params_size = sizeof(join_params.ssid_le) +
-- BRCMF_ASSOC_PARAMS_FIXED_SIZE;
-+ join_params_size += BRCMF_ASSOC_PARAMS_FIXED_SIZE;
- memcpy(profile->bssid, params->bssid, ETH_ALEN);
- } else {
- eth_broadcast_addr(join_params.params_le.bssid);
-@@ -1728,7 +1727,6 @@ brcmf_cfg80211_connect(struct wiphy *wip
- {
- struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
- struct brcmf_if *ifp = netdev_priv(ndev);
-- struct brcmf_cfg80211_profile *profile = &ifp->vif->profile;
- struct ieee80211_channel *chan = sme->channel;
- struct brcmf_join_params join_params;
- size_t join_params_size;
-@@ -1739,6 +1737,7 @@ brcmf_cfg80211_connect(struct wiphy *wip
- struct brcmf_ext_join_params_le *ext_join_params;
- u16 chanspec;
- s32 err = 0;
-+ u32 ssid_len;
-
- brcmf_dbg(TRACE, "Enter\n");
- if (!check_vif_up(ifp->vif))
-@@ -1824,15 +1823,6 @@ brcmf_cfg80211_connect(struct wiphy *wip
- goto done;
- }
-
-- profile->ssid.SSID_len = min_t(u32, (u32)sizeof(profile->ssid.SSID),
-- (u32)sme->ssid_len);
-- memcpy(&profile->ssid.SSID, sme->ssid, profile->ssid.SSID_len);
-- if (profile->ssid.SSID_len < IEEE80211_MAX_SSID_LEN) {
-- profile->ssid.SSID[profile->ssid.SSID_len] = 0;
-- brcmf_dbg(CONN, "SSID \"%s\", len (%d)\n", profile->ssid.SSID,
-- profile->ssid.SSID_len);
-- }
--
- /* Join with specific BSSID and cached SSID
- * If SSID is zero join based on BSSID only
- */
-@@ -1845,9 +1835,12 @@ brcmf_cfg80211_connect(struct wiphy *wip
- err = -ENOMEM;
- goto done;
- }
-- ext_join_params->ssid_le.SSID_len = cpu_to_le32(profile->ssid.SSID_len);
-- memcpy(&ext_join_params->ssid_le.SSID, sme->ssid,
-- profile->ssid.SSID_len);
-+ ssid_len = min_t(u32, sme->ssid_len, IEEE80211_MAX_SSID_LEN);
-+ ext_join_params->ssid_le.SSID_len = cpu_to_le32(ssid_len);
-+ memcpy(&ext_join_params->ssid_le.SSID, sme->ssid, ssid_len);
-+ if (ssid_len < IEEE80211_MAX_SSID_LEN)
-+ brcmf_dbg(CONN, "SSID \"%s\", len (%d)\n",
-+ ext_join_params->ssid_le.SSID, ssid_len);
-
- /* Set up join scan parameters */
- ext_join_params->scan_le.scan_type = -1;
-@@ -1895,8 +1888,8 @@ brcmf_cfg80211_connect(struct wiphy *wip
- memset(&join_params, 0, sizeof(join_params));
- join_params_size = sizeof(join_params.ssid_le);
-
-- memcpy(&join_params.ssid_le.SSID, sme->ssid, profile->ssid.SSID_len);
-- join_params.ssid_le.SSID_len = cpu_to_le32(profile->ssid.SSID_len);
-+ memcpy(&join_params.ssid_le.SSID, sme->ssid, ssid_len);
-+ join_params.ssid_le.SSID_len = cpu_to_le32(ssid_len);
-
- if (sme->bssid)
- memcpy(join_params.params_le.bssid, sme->bssid, ETH_ALEN);
-@@ -2775,9 +2768,7 @@ CleanUp:
- static s32 brcmf_update_bss_info(struct brcmf_cfg80211_info *cfg,
- struct brcmf_if *ifp)
- {
-- struct brcmf_cfg80211_profile *profile = ndev_to_prof(ifp->ndev);
- struct brcmf_bss_info_le *bi;
-- struct brcmf_ssid *ssid;
- const struct brcmf_tlv *tim;
- u16 beacon_interval;
- u8 dtim_period;
-@@ -2789,8 +2780,6 @@ static s32 brcmf_update_bss_info(struct
- if (brcmf_is_ibssmode(ifp->vif))
- return err;
-
-- ssid = &profile->ssid;
--
- *(__le32 *)cfg->extra_buf = cpu_to_le32(WL_EXTRA_BUF_MAX);
- err = brcmf_fil_cmd_data_get(ifp, BRCMF_C_GET_BSS_INFO,
- cfg->extra_buf, WL_EXTRA_BUF_MAX);
---- a/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.h
-+++ b/drivers/net/wireless/brcm80211/brcmfmac/cfg80211.h
-@@ -124,13 +124,11 @@ struct brcmf_cfg80211_security {
- /**
- * struct brcmf_cfg80211_profile - profile information.
- *
-- * @ssid: ssid of associated/associating ap.
- * @bssid: bssid of joined/joining ibss.
- * @sec: security information.
- * @key: key information
- */
- struct brcmf_cfg80211_profile {
-- struct brcmf_ssid ssid;
- u8 bssid[ETH_ALEN];
- struct brcmf_cfg80211_security sec;
- struct brcmf_wsec_key key[BRCMF_MAX_DEFAULT_KEYS];
---- a/drivers/net/wireless/brcm80211/brcmfmac/fwil_types.h
-+++ b/drivers/net/wireless/brcm80211/brcmfmac/fwil_types.h
-@@ -282,14 +282,9 @@ struct brcm_rateset_le {
- u8 rates[BRCMF_MAXRATES_IN_SET];
- };
-
--struct brcmf_ssid {
-- u32 SSID_len;
-- unsigned char SSID[32];
--};
--
- struct brcmf_ssid_le {
- __le32 SSID_len;
-- unsigned char SSID[32];
-+ unsigned char SSID[IEEE80211_MAX_SSID_LEN];
- };
-
- struct brcmf_scan_params_le {
---- a/drivers/net/wireless/brcm80211/brcmfmac/p2p.c
-+++ b/drivers/net/wireless/brcm80211/brcmfmac/p2p.c
-@@ -642,7 +642,6 @@ static s32 brcmf_p2p_escan(struct brcmf_
- struct brcmf_cfg80211_vif *vif;
- struct brcmf_p2p_scan_le *p2p_params;
- struct brcmf_scan_params_le *sparams;
-- struct brcmf_ssid ssid;
-
- memsize += num_chans * sizeof(__le16);
- memblk = kzalloc(memsize, GFP_KERNEL);
-@@ -655,16 +654,16 @@ static s32 brcmf_p2p_escan(struct brcmf_
- ret = -EINVAL;
- goto exit;
- }
-+ p2p_params = (struct brcmf_p2p_scan_le *)memblk;
-+ sparams = &p2p_params->eparams.params_le;
-
- switch (search_state) {
- case WL_P2P_DISC_ST_SEARCH:
- /*
- * If we in SEARCH STATE, we don't need to set SSID explictly
-- * because dongle use P2P WILDCARD internally by default
-+ * because dongle use P2P WILDCARD internally by default, use
-+ * null ssid, which it is already due to kzalloc.
- */
-- /* use null ssid */
-- ssid.SSID_len = 0;
-- memset(ssid.SSID, 0, sizeof(ssid.SSID));
- break;
- case WL_P2P_DISC_ST_SCAN:
- /*
-@@ -673,8 +672,10 @@ static s32 brcmf_p2p_escan(struct brcmf_
- * P2P WILDCARD because we just do broadcast scan unless
- * setting SSID.
- */
-- ssid.SSID_len = BRCMF_P2P_WILDCARD_SSID_LEN;
-- memcpy(ssid.SSID, BRCMF_P2P_WILDCARD_SSID, ssid.SSID_len);
-+ sparams->ssid_le.SSID_len =
-+ cpu_to_le32(BRCMF_P2P_WILDCARD_SSID_LEN);
-+ memcpy(sparams->ssid_le.SSID, BRCMF_P2P_WILDCARD_SSID,
-+ BRCMF_P2P_WILDCARD_SSID_LEN);
- break;
- default:
- brcmf_err(" invalid search state %d\n", search_state);
-@@ -687,11 +688,9 @@ static s32 brcmf_p2p_escan(struct brcmf_
- /*
- * set p2p scan parameters.
- */
-- p2p_params = (struct brcmf_p2p_scan_le *)memblk;
- p2p_params->type = 'E';
-
- /* determine the scan engine parameters */
-- sparams = &p2p_params->eparams.params_le;
- sparams->bss_type = DOT11_BSSTYPE_ANY;
- if (p2p->cfg->active_scan)
- sparams->scan_type = 0;
-@@ -699,9 +698,6 @@ static s32 brcmf_p2p_escan(struct brcmf_
- sparams->scan_type = 1;
-
- eth_broadcast_addr(sparams->bssid);
-- if (ssid.SSID_len)
-- memcpy(sparams->ssid_le.SSID, ssid.SSID, ssid.SSID_len);
-- sparams->ssid_le.SSID_len = cpu_to_le32(ssid.SSID_len);
- sparams->home_time = cpu_to_le32(P2PAPI_SCAN_HOME_TIME_MS);
-
- /*
---- a/drivers/net/wireless/brcm80211/brcmfmac/p2p.h
-+++ b/drivers/net/wireless/brcm80211/brcmfmac/p2p.h
-@@ -112,7 +112,6 @@ struct afx_hdl {
- * @int_addr: P2P interface address.
- * @bss_idx: informate for P2P bss types.
- * @listen_timer: timer for @WL_P2P_DISC_ST_LISTEN discover state.
-- * @ssid: ssid for P2P GO.
- * @listen_channel: channel for @WL_P2P_DISC_ST_LISTEN discover state.
- * @remain_on_channel: contains copy of struct used by cfg80211.
- * @remain_on_channel_cookie: cookie counter for remain on channel cmd
-@@ -133,7 +132,6 @@ struct brcmf_p2p_info {
- u8 int_addr[ETH_ALEN];
- struct p2p_bss bss_idx[P2PAPI_BSSCFG_MAX];
- struct timer_list listen_timer;
-- struct brcmf_ssid ssid;
- u8 listen_channel;
- struct ieee80211_channel remain_on_channel;
- u32 remain_on_channel_cookie;