wlcore: add dfs region to reg domain update cmd
authorGuy Mishol <guym@ti.com>
Mon, 29 Dec 2014 06:24:12 +0000 (08:24 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 9 Jan 2015 13:48:03 +0000 (15:48 +0200)
Add dfs region to the reg domain channel update command.

Signed-off-by: Guy Mishol <guym@ti.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ti/wlcore/cmd.c
drivers/net/wireless/ti/wlcore/cmd.h
drivers/net/wireless/ti/wlcore/main.c
drivers/net/wireless/ti/wlcore/wlcore.h

index 50ca10c95a189ab969bfa11182a3376142a97019..c26fc2106e5bfc3f44f8c7d2cda483824b0ea284 100644 (file)
@@ -1736,6 +1736,7 @@ int wlcore_cmd_regdomain_config_locked(struct wl1271 *wl)
 
        cmd->ch_bit_map1 = cpu_to_le32(tmp_ch_bitmap[0]);
        cmd->ch_bit_map2 = cpu_to_le32(tmp_ch_bitmap[1]);
+       cmd->dfs_region = wl->dfs_region;
 
        wl1271_debug(DEBUG_CMD,
                     "cmd reg domain bitmap1: 0x%08x, bitmap2: 0x%08x",
index 06bdee2a78d88b77865df9dfbf83b8a606b1295c..e14cd407a6aea6295f786033a63a234c12bc6f6c 100644 (file)
@@ -648,6 +648,8 @@ struct wl12xx_cmd_regdomain_dfs_config {
 
        __le32 ch_bit_map1;
        __le32 ch_bit_map2;
+       u8 dfs_region;
+       u8 padding[3];
 } __packed;
 
 struct wl12xx_cmd_config_fwlog {
index a393ae8fa81bc74b8dde9673c33a779009209c85..e90fb781a6a1ec03a60fb17a0f16920d4605c3d8 100644 (file)
@@ -82,6 +82,10 @@ static void wl1271_reg_notify(struct wiphy *wiphy,
        struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy);
        struct wl1271 *wl = hw->priv;
 
+       /* copy the current dfs region */
+       if (request)
+               wl->dfs_region = request->dfs_region;
+
        wlcore_regdomain_config(wl);
 }
 
index 581c47913cec5623bb851ed6190b1fc61f61de05..d599c869e6e881af451c7ea56ef3a718137b9a25 100644 (file)
@@ -465,6 +465,9 @@ struct wl1271 {
        /* HW HT (11n) capabilities */
        struct ieee80211_sta_ht_cap ht_cap[WLCORE_NUM_BANDS];
 
+       /* the current dfs region */
+       enum nl80211_dfs_regions dfs_region;
+
        /* size of the private FW status data */
        size_t fw_status_len;
        size_t fw_status_priv_len;