summaryrefslogtreecommitdiff
path: root/package/mac80211/patches/870-brcmsmac-react-on-changing-SSID.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/870-brcmsmac-react-on-changing-SSID.patch')
-rw-r--r--package/mac80211/patches/870-brcmsmac-react-on-changing-SSID.patch43
1 files changed, 0 insertions, 43 deletions
diff --git a/package/mac80211/patches/870-brcmsmac-react-on-changing-SSID.patch b/package/mac80211/patches/870-brcmsmac-react-on-changing-SSID.patch
deleted file mode 100644
index 34969ad..0000000
--- a/package/mac80211/patches/870-brcmsmac-react-on-changing-SSID.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
-+++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
-@@ -523,6 +523,12 @@ brcms_ops_bss_info_changed(struct ieee80
- brcms_c_set_addrmatch(wl->wlc, RCM_BSSID_OFFSET, info->bssid);
- spin_unlock_bh(&wl->lock);
- }
-+ if (changed & BSS_CHANGED_SSID) {
-+ /* BSSID changed, for whatever reason (IBSS and managed mode) */
-+ spin_lock_bh(&wl->lock);
-+ brcms_c_set_ssid(wl->wlc, info->ssid, info->ssid_len);
-+ spin_unlock_bh(&wl->lock);
-+ }
- if (changed & BSS_CHANGED_BEACON) {
- /* Beacon data changed, retrieve new beacon (beaconing modes) */
- struct sk_buff *beacon;
---- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
-+++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
-@@ -3785,6 +3785,15 @@ static void brcms_c_set_bssid(struct brc
- brcms_c_set_addrmatch(bsscfg->wlc, RCM_BSSID_OFFSET, bsscfg->BSSID);
- }
-
-+void brcms_c_set_ssid(struct brcms_c_info *wlc, u8 *ssid, size_t ssid_len)
-+{
-+ u8 len = min_t(u8, sizeof(wlc->bsscfg->SSID), ssid_len);
-+ memset(wlc->bsscfg->SSID, 0, sizeof(wlc->bsscfg->SSID));
-+
-+ memcpy(wlc->bsscfg->SSID, ssid, len);
-+ wlc->bsscfg->SSID_len = len;
-+}
-+
- static void brcms_b_set_shortslot(struct brcms_hardware *wlc_hw, bool shortslot)
- {
- wlc_hw->shortslot = shortslot;
---- a/drivers/net/wireless/brcm80211/brcmsmac/pub.h
-+++ b/drivers/net/wireless/brcm80211/brcmsmac/pub.h
-@@ -336,5 +336,7 @@ extern void brcms_c_update_beacon(struct
- extern void brcms_c_set_new_beacon(struct brcms_c_info *wlc,
- struct sk_buff *beacon, u16 tim_offset,
- u16 dtim_period);
-+extern void brcms_c_set_ssid(struct brcms_c_info *wlc, u8 *ssid,
-+ size_t ssid_len);
-
- #endif /* _BRCM_PUB_H_ */