aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/cmd.c
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2011-10-05 05:55:44 -0400
committerLuciano Coelho <coelho@ti.com>2011-10-07 01:32:36 -0400
commitcdf09495588fda7e9c15c25bc20cb828e07be314 (patch)
treeeef30352c4619b787515c95b8a7c5b79ad785d0b /drivers/net/wireless/wl12xx/cmd.c
parentd2d66c56cf6c8727662aa321991f791604c22094 (diff)
wl12xx: replace wl->bssid with vif->bss_conf.bssid
Use the per-interface vif->bss_conf instead of the global wl->bssid. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/cmd.c')
-rw-r--r--drivers/net/wireless/wl12xx/cmd.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/wireless/wl12xx/cmd.c b/drivers/net/wireless/wl12xx/cmd.c
index ce734157980a..b9bb76b22f58 100644
--- a/drivers/net/wireless/wl12xx/cmd.c
+++ b/drivers/net/wireless/wl12xx/cmd.c
@@ -557,6 +557,7 @@ out:
557 557
558int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif) 558int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
559{ 559{
560 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
560 struct wl12xx_cmd_role_start *cmd; 561 struct wl12xx_cmd_role_start *cmd;
561 int ret; 562 int ret;
562 563
@@ -577,7 +578,7 @@ int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
577 cmd->sta.ssid_type = WL12XX_SSID_TYPE_ANY; 578 cmd->sta.ssid_type = WL12XX_SSID_TYPE_ANY;
578 cmd->sta.ssid_len = wl->ssid_len; 579 cmd->sta.ssid_len = wl->ssid_len;
579 memcpy(cmd->sta.ssid, wl->ssid, wl->ssid_len); 580 memcpy(cmd->sta.ssid, wl->ssid, wl->ssid_len);
580 memcpy(cmd->sta.bssid, wl->bssid, ETH_ALEN); 581 memcpy(cmd->sta.bssid, vif->bss_conf.bssid, ETH_ALEN);
581 cmd->sta.local_rates = cpu_to_le32(wlvif->rate_set); 582 cmd->sta.local_rates = cpu_to_le32(wlvif->rate_set);
582 583
583 if (wl->sta_hlid == WL12XX_INVALID_LINK_ID) { 584 if (wl->sta_hlid == WL12XX_INVALID_LINK_ID) {
@@ -769,6 +770,7 @@ out:
769 770
770int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif) 771int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif)
771{ 772{
773 struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
772 struct wl12xx_cmd_role_start *cmd; 774 struct wl12xx_cmd_role_start *cmd;
773 struct ieee80211_bss_conf *bss_conf = &wl->vif->bss_conf; 775 struct ieee80211_bss_conf *bss_conf = &wl->vif->bss_conf;
774 int ret; 776 int ret;
@@ -791,7 +793,7 @@ int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif)
791 cmd->ibss.ssid_type = WL12XX_SSID_TYPE_ANY; 793 cmd->ibss.ssid_type = WL12XX_SSID_TYPE_ANY;
792 cmd->ibss.ssid_len = wl->ssid_len; 794 cmd->ibss.ssid_len = wl->ssid_len;
793 memcpy(cmd->ibss.ssid, wl->ssid, wl->ssid_len); 795 memcpy(cmd->ibss.ssid, wl->ssid, wl->ssid_len);
794 memcpy(cmd->ibss.bssid, wl->bssid, ETH_ALEN); 796 memcpy(cmd->ibss.bssid, vif->bss_conf.bssid, ETH_ALEN);
795 cmd->sta.local_rates = cpu_to_le32(wlvif->rate_set); 797 cmd->sta.local_rates = cpu_to_le32(wlvif->rate_set);
796 798
797 if (wl->sta_hlid == WL12XX_INVALID_LINK_ID) { 799 if (wl->sta_hlid == WL12XX_INVALID_LINK_ID) {
@@ -807,7 +809,8 @@ int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif)
807 wl->role_id, cmd->sta.hlid, cmd->sta.session, 809 wl->role_id, cmd->sta.hlid, cmd->sta.session,
808 wlvif->basic_rate_set, wlvif->rate_set); 810 wlvif->basic_rate_set, wlvif->rate_set);
809 811
810 wl1271_debug(DEBUG_CMD, "wl->bssid = %pM", wl->bssid); 812 wl1271_debug(DEBUG_CMD, "vif->bss_conf.bssid = %pM",
813 vif->bss_conf.bssid);
811 814
812 ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0); 815 ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0);
813 if (ret < 0) { 816 if (ret < 0) {
@@ -1213,9 +1216,9 @@ int wl1271_build_qos_null_data(struct wl1271 *wl, struct ieee80211_vif *vif)
1213 1216
1214 memset(&template, 0, sizeof(template)); 1217 memset(&template, 0, sizeof(template));
1215 1218
1216 memcpy(template.addr1, wl->bssid, ETH_ALEN); 1219 memcpy(template.addr1, vif->bss_conf.bssid, ETH_ALEN);
1217 memcpy(template.addr2, vif->addr, ETH_ALEN); 1220 memcpy(template.addr2, vif->addr, ETH_ALEN);
1218 memcpy(template.addr3, wl->bssid, ETH_ALEN); 1221 memcpy(template.addr3, vif->bss_conf.bssid, ETH_ALEN);
1219 1222
1220 template.frame_control = cpu_to_le16(IEEE80211_FTYPE_DATA | 1223 template.frame_control = cpu_to_le16(IEEE80211_FTYPE_DATA |
1221 IEEE80211_STYPE_QOS_NULLFUNC | 1224 IEEE80211_STYPE_QOS_NULLFUNC |