diff options
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.patch | 43 |
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_ */ |