diff options
Diffstat (limited to 'drivers/net/wireless/wl12xx/main.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/main.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c index 73973b4fc57f..0647d460b698 100644 --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c | |||
@@ -2317,7 +2317,7 @@ static int wl1271_unjoin(struct wl1271 *wl, struct wl12xx_vif *wlvif) | |||
2317 | { | 2317 | { |
2318 | int ret; | 2318 | int ret; |
2319 | 2319 | ||
2320 | if (test_and_clear_bit(WL1271_FLAG_CS_PROGRESS, &wl->flags)) { | 2320 | if (test_and_clear_bit(WLVIF_FLAG_CS_PROGRESS, &wlvif->flags)) { |
2321 | wl12xx_cmd_stop_channel_switch(wl); | 2321 | wl12xx_cmd_stop_channel_switch(wl); |
2322 | ieee80211_chswitch_done(wl->vif, false); | 2322 | ieee80211_chswitch_done(wl->vif, false); |
2323 | } | 2323 | } |
@@ -4275,6 +4275,7 @@ static void wl12xx_op_channel_switch(struct ieee80211_hw *hw, | |||
4275 | struct ieee80211_channel_switch *ch_switch) | 4275 | struct ieee80211_channel_switch *ch_switch) |
4276 | { | 4276 | { |
4277 | struct wl1271 *wl = hw->priv; | 4277 | struct wl1271 *wl = hw->priv; |
4278 | struct wl12xx_vif *wlvif; | ||
4278 | int ret; | 4279 | int ret; |
4279 | 4280 | ||
4280 | wl1271_debug(DEBUG_MAC80211, "mac80211 channel switch"); | 4281 | wl1271_debug(DEBUG_MAC80211, "mac80211 channel switch"); |
@@ -4291,10 +4292,13 @@ static void wl12xx_op_channel_switch(struct ieee80211_hw *hw, | |||
4291 | if (ret < 0) | 4292 | if (ret < 0) |
4292 | goto out; | 4293 | goto out; |
4293 | 4294 | ||
4294 | ret = wl12xx_cmd_channel_switch(wl, ch_switch); | 4295 | /* TODO: change mac80211 to pass vif as param */ |
4296 | wl12xx_for_each_wlvif_sta(wl, wlvif) { | ||
4297 | ret = wl12xx_cmd_channel_switch(wl, ch_switch); | ||
4295 | 4298 | ||
4296 | if (!ret) | 4299 | if (!ret) |
4297 | set_bit(WL1271_FLAG_CS_PROGRESS, &wl->flags); | 4300 | set_bit(WLVIF_FLAG_CS_PROGRESS, &wlvif->flags); |
4301 | } | ||
4298 | 4302 | ||
4299 | wl1271_ps_elp_sleep(wl); | 4303 | wl1271_ps_elp_sleep(wl); |
4300 | 4304 | ||