Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 278641
b: refs/heads/master
c: cdf0949
h: refs/heads/master
i:
  278639: 39692b4
v: v3
  • Loading branch information
Eliad Peller authored and Luciano Coelho committed Oct 7, 2011
1 parent 0152a20 commit e4b3f20
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d2d66c56cf6c8727662aa321991f791604c22094
refs/heads/master: cdf09495588fda7e9c15c25bc20cb828e07be314
13 changes: 8 additions & 5 deletions trunk/drivers/net/wireless/wl12xx/cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -557,6 +557,7 @@ int wl12xx_cmd_role_stop_dev(struct wl1271 *wl)

int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
{
struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
struct wl12xx_cmd_role_start *cmd;
int ret;

Expand All @@ -577,7 +578,7 @@ int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
cmd->sta.ssid_type = WL12XX_SSID_TYPE_ANY;
cmd->sta.ssid_len = wl->ssid_len;
memcpy(cmd->sta.ssid, wl->ssid, wl->ssid_len);
memcpy(cmd->sta.bssid, wl->bssid, ETH_ALEN);
memcpy(cmd->sta.bssid, vif->bss_conf.bssid, ETH_ALEN);
cmd->sta.local_rates = cpu_to_le32(wlvif->rate_set);

if (wl->sta_hlid == WL12XX_INVALID_LINK_ID) {
Expand Down Expand Up @@ -769,6 +770,7 @@ int wl12xx_cmd_role_stop_ap(struct wl1271 *wl)

int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif)
{
struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif);
struct wl12xx_cmd_role_start *cmd;
struct ieee80211_bss_conf *bss_conf = &wl->vif->bss_conf;
int ret;
Expand All @@ -791,7 +793,7 @@ int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif)
cmd->ibss.ssid_type = WL12XX_SSID_TYPE_ANY;
cmd->ibss.ssid_len = wl->ssid_len;
memcpy(cmd->ibss.ssid, wl->ssid, wl->ssid_len);
memcpy(cmd->ibss.bssid, wl->bssid, ETH_ALEN);
memcpy(cmd->ibss.bssid, vif->bss_conf.bssid, ETH_ALEN);
cmd->sta.local_rates = cpu_to_le32(wlvif->rate_set);

if (wl->sta_hlid == WL12XX_INVALID_LINK_ID) {
Expand All @@ -807,7 +809,8 @@ int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif)
wl->role_id, cmd->sta.hlid, cmd->sta.session,
wlvif->basic_rate_set, wlvif->rate_set);

wl1271_debug(DEBUG_CMD, "wl->bssid = %pM", wl->bssid);
wl1271_debug(DEBUG_CMD, "vif->bss_conf.bssid = %pM",
vif->bss_conf.bssid);

ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0);
if (ret < 0) {
Expand Down Expand Up @@ -1213,9 +1216,9 @@ int wl1271_build_qos_null_data(struct wl1271 *wl, struct ieee80211_vif *vif)

memset(&template, 0, sizeof(template));

memcpy(template.addr1, wl->bssid, ETH_ALEN);
memcpy(template.addr1, vif->bss_conf.bssid, ETH_ALEN);
memcpy(template.addr2, vif->addr, ETH_ALEN);
memcpy(template.addr3, wl->bssid, ETH_ALEN);
memcpy(template.addr3, vif->bss_conf.bssid, ETH_ALEN);

template.frame_control = cpu_to_le16(IEEE80211_FTYPE_DATA |
IEEE80211_STYPE_QOS_NULLFUNC |
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/wireless/wl12xx/event.c
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ static void wl1271_stop_ba_event(struct wl1271 *wl)
if (!wl->ba_rx_bitmap)
return;
ieee80211_stop_rx_ba_session(wl->vif, wl->ba_rx_bitmap,
wl->bssid);
wl->vif->bss_conf.bssid);
} else {
int i;
struct wl1271_link *lnk;
Expand Down
15 changes: 2 additions & 13 deletions trunk/drivers/net/wireless/wl12xx/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2098,7 +2098,6 @@ static void __wl1271_op_remove_interface(struct wl1271 *wl,
wl1271_tx_reset(wl, reset_tx_queues);
wl1271_power_off(wl);

memset(wl->bssid, 0, ETH_ALEN);
memset(wl->ssid, 0, IEEE80211_MAX_SSID_LEN + 1);
wl->ssid_len = 0;
wl->bss_type = MAX_BSS_TYPE;
Expand Down Expand Up @@ -2249,8 +2248,6 @@ static int wl1271_unjoin(struct wl1271 *wl)
if (ret < 0)
goto out;

memset(wl->bssid, 0, ETH_ALEN);

/* reset TX security counters on a clean disconnect */
wl->tx_security_last_seq_lsb = 0;
wl->tx_security_seq = 0;
Expand Down Expand Up @@ -3449,15 +3446,8 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
wl->rssi_thold = bss_conf->cqm_rssi_thold;
}

if ((changed & BSS_CHANGED_BSSID) &&
/*
* Now we know the correct bssid, so we send a new join command
* and enable the BSSID filter
*/
memcmp(wl->bssid, bss_conf->bssid, ETH_ALEN)) {
memcpy(wl->bssid, bss_conf->bssid, ETH_ALEN);

if (!is_zero_ether_addr(wl->bssid)) {
if (changed & BSS_CHANGED_BSSID)
if (!is_zero_ether_addr(bss_conf->bssid)) {
ret = wl12xx_cmd_build_null_data(wl, wlvif);
if (ret < 0)
goto out;
Expand All @@ -3469,7 +3459,6 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
/* Need to update the BSSID (for filtering etc) */
do_join = true;
}
}

if (changed & (BSS_CHANGED_ASSOC | BSS_CHANGED_HT)) {
rcu_read_lock();
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/net/wireless/wl12xx/wl12xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,6 @@ struct wl1271 {

s8 hw_pg_ver;

u8 bssid[ETH_ALEN];
u8 mac_addr[ETH_ALEN];
u8 bss_type;
u8 set_bss_type;
Expand Down

0 comments on commit e4b3f20

Please sign in to comment.