When associated on 5G the driver receives a probe request for 2G with
a 2G rate specified. The driver asserts as the operating band is still
5G when the probe request packet is given. Root cause was that ioctl
function did fail upon setting the channel as requested by mac80211
when we are associated.

Signed-off-by: Arend van Spriel <[email protected]>
---
 drivers/staging/brcm80211/brcmsmac/wlc_bsscfg.h   |    1 -
 drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c |    4 ++--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_bsscfg.h 
b/drivers/staging/brcm80211/brcmsmac/wlc_bsscfg.h
index 0bb4a21..8096b0f 100644
--- a/drivers/staging/brcm80211/brcmsmac/wlc_bsscfg.h
+++ b/drivers/staging/brcm80211/brcmsmac/wlc_bsscfg.h
@@ -111,7 +111,6 @@ struct wlc_bsscfg {
        pmkid_t pmkid[MAXPMKID];        /* PMKID cache */
        uint npmkid;            /* num cached PMKIDs */
 
-       wlc_bss_info_t *target_bss;     /* BSS parms during tran. to ASSOCIATED 
state */
        wlc_bss_info_t *current_bss;    /* BSS parms in ASSOCIATED state */
 
        /* PM states */
diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c 
b/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c
index 2602f7f..2fa68b9 100644
--- a/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c
+++ b/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c
@@ -790,7 +790,7 @@ void wlc_set_home_chanspec(struct wlc_info *wlc, chanspec_t 
chanspec)
                FOREACH_BSS(wlc, idx, cfg) {
                        if (!cfg->associated)
                                continue;
-                       cfg->target_bss->chanspec = chanspec;
+
                        cfg->current_bss->chanspec = chanspec;
                }
 
@@ -3212,7 +3212,7 @@ _wlc_ioctl(struct wlc_info *wlc, int cmd, void *arg, int 
len,
 
                        wlc->default_bss->chanspec = chspec;
                        /* wlc_BSSinit() will sanitize the rateset before using 
it.. */
-                       if (wlc->pub->up && !wlc->pub->associated &&
+                       if (wlc->pub->up &&
                            (WLC_BAND_PI_RADIO_CHANSPEC != chspec)) {
                                wlc_set_home_chanspec(wlc, chspec);
                                wlc_suspend_mac_and_wait(wlc);
-- 
1.7.1


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

Reply via email to