]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
wcn36xx: send bss_type in scan requests
authorDaniel Mack <daniel@zonque.org>
Tue, 17 Apr 2018 13:23:36 +0000 (15:23 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 24 Apr 2018 06:06:20 +0000 (09:06 +0300)
Pass the bss_type of the currently configured BSS in the message for the
scan request. Therefore, that setting needs to be kept in struct
wcn36xx_vif.

This seems to be only interesting when scanning for a specific SSID
and doesn't matter for regular wildcard scans.

Signed-off-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wcn36xx/smd.c
drivers/net/wireless/ath/wcn36xx/wcn36xx.h

index b7964f79d83749b8eef19a9da02c9c64d1e5782f..9c8ce5e0454f80fd8934e226552adbdb76d7f1a5 100644 (file)
@@ -620,6 +620,7 @@ int wcn36xx_smd_finish_scan(struct wcn36xx *wcn,
 int wcn36xx_smd_start_hw_scan(struct wcn36xx *wcn, struct ieee80211_vif *vif,
                              struct cfg80211_scan_request *req)
 {
+       struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif);
        struct wcn36xx_hal_start_scan_offload_req_msg msg_body;
        int ret, i;
 
@@ -631,6 +632,7 @@ int wcn36xx_smd_start_hw_scan(struct wcn36xx *wcn, struct ieee80211_vif *vif,
        msg_body.max_ch_time = 100;
        msg_body.scan_hidden = 1;
        memcpy(msg_body.mac, vif->addr, ETH_ALEN);
+       msg_body.bss_type = vif_priv->bss_type;
        msg_body.p2p_search = vif->p2p;
 
        msg_body.num_ssid = min_t(u8, req->n_ssids, ARRAY_SIZE(msg_body.ssids));
@@ -1399,9 +1401,10 @@ int wcn36xx_smd_config_bss(struct wcn36xx *wcn, struct ieee80211_vif *vif,
        bss->spectrum_mgt_enable = 0;
        bss->tx_mgmt_power = 0;
        bss->max_tx_power = WCN36XX_MAX_POWER(wcn);
-
        bss->action = update;
 
+       vif_priv->bss_type = bss->bss_type;
+
        wcn36xx_dbg(WCN36XX_DBG_HAL,
                    "hal config bss bssid %pM self_mac_addr %pM bss_type %d oper_mode %d nw_type %d\n",
                    bss->bssid, bss->self_mac_addr, bss->bss_type,
index 5854adf43f3aa1498106a9f15d60f37d49f732e7..22e05cb4eb9844913c85eac642535a5c5b7b80ca 100644 (file)
@@ -123,6 +123,7 @@ struct wcn36xx_vif {
        bool is_joining;
        bool sta_assoc;
        struct wcn36xx_hal_mac_ssid ssid;
+       enum wcn36xx_hal_bss_type bss_type;
 
        /* Power management */
        enum wcn36xx_power_state pw_state;