From: Arend van Spriel <[email protected]>

The driver has flags for association state which are now being set
according to notification from mac80211.

Reviewed-by: Roland Vossen <[email protected]>
Reviewed-by: Brett Rudley <[email protected]>
Reviewed-by: Henry Ptasinski <[email protected]>
Signed-off-by: Arend van Spriel <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/staging/brcm80211/brcmsmac/wl_mac80211.c  |    1 +
 drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c |    6 ++++++
 drivers/staging/brcm80211/brcmsmac/wlc_pub.h      |    1 +
 3 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c 
b/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c
index e485280..a51e511 100644
--- a/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c
+++ b/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c
@@ -333,6 +333,7 @@ wl_ops_bss_info_changed(struct ieee80211_hw *hw,
                 */
                WL_ERROR("%s: %s: %sassociated\n", KBUILD_MODNAME, __func__,
                         info->assoc ? "" : "dis");
+               wlc_associate_upd(wl->wlc, info->assoc);
        }
        if (changed & BSS_CHANGED_ERP_CTS_PROT) {
                /* CTS protection changed */
diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c 
b/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c
index d2b86a6..76d78c1 100644
--- a/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c
+++ b/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c
@@ -8590,3 +8590,9 @@ void wlc_scan_stop(struct wlc_info *wlc)
 {
        wlc_phy_hold_upd(wlc->band->pi, PHY_HOLD_FOR_SCAN, false);
 }
+
+void wlc_associate_upd(struct wlc_info *wlc, bool state)
+{
+       wlc->pub->associated = state;
+       wlc->cfg->associated = state;
+}
diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_pub.h 
b/drivers/staging/brcm80211/brcmsmac/wlc_pub.h
index 4d0e0b13..4b43c3c 100644
--- a/drivers/staging/brcm80211/brcmsmac/wlc_pub.h
+++ b/drivers/staging/brcm80211/brcmsmac/wlc_pub.h
@@ -563,6 +563,7 @@ extern void wlc_enable_mac(struct wlc_info *wlc);
 extern u16 wlc_rate_shm_offset(struct wlc_info *wlc, u8 rate);
 extern u32 wlc_get_rspec_history(struct wlc_bsscfg *cfg);
 extern u32 wlc_get_current_highest_rate(struct wlc_bsscfg *cfg);
+extern void wlc_associate_upd(struct wlc_info *wlc, bool state);
 extern void wlc_scan_start(struct wlc_info *wlc);
 extern void wlc_scan_stop(struct wlc_info *wlc);
 
-- 
1.7.4.1

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to