OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2002-2005, Instant802 Networks, Inc. | 2 * Copyright 2002-2005, Instant802 Networks, Inc. |
3 * Copyright 2005-2006, Devicescape Software, Inc. | 3 * Copyright 2005-2006, Devicescape Software, Inc. |
4 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> | 4 * Copyright 2006-2007 Jiri Benc <jbenc@suse.cz> |
5 * Copyright 2007 Johannes Berg <johannes@sipsolutions.net> | 5 * Copyright 2007 Johannes Berg <johannes@sipsolutions.net> |
6 * | 6 * |
7 * This program is free software; you can redistribute it and/or modify | 7 * This program is free software; you can redistribute it and/or modify |
8 * it under the terms of the GNU General Public License version 2 as | 8 * it under the terms of the GNU General Public License version 2 as |
9 * published by the Free Software Foundation. | 9 * published by the Free Software Foundation. |
10 * | 10 * |
(...skipping 1216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1227 * Also tear down aggregation sessions since reconfiguring | 1227 * Also tear down aggregation sessions since reconfiguring |
1228 * them in a hardware restart scenario is not easily done | 1228 * them in a hardware restart scenario is not easily done |
1229 * right now, and the hardware will have lost information | 1229 * right now, and the hardware will have lost information |
1230 * about the sessions, but we and the AP still think they | 1230 * about the sessions, but we and the AP still think they |
1231 * are active. This is really a workaround though. | 1231 * are active. This is really a workaround though. |
1232 */ | 1232 */ |
1233 if (hw->flags & IEEE80211_HW_AMPDU_AGGREGATION) { | 1233 if (hw->flags & IEEE80211_HW_AMPDU_AGGREGATION) { |
1234 mutex_lock(&local->sta_mtx); | 1234 mutex_lock(&local->sta_mtx); |
1235 | 1235 |
1236 list_for_each_entry(sta, &local->sta_list, list) { | 1236 list_for_each_entry(sta, &local->sta_list, list) { |
1237 » » » ieee80211_sta_tear_down_BA_sessions(sta, true); | 1237 » » » ieee80211_sta_tear_down_BA_sessions(sta); |
1238 clear_sta_flags(sta, WLAN_STA_BLOCK_BA); | 1238 clear_sta_flags(sta, WLAN_STA_BLOCK_BA); |
1239 } | 1239 } |
1240 | 1240 |
1241 mutex_unlock(&local->sta_mtx); | 1241 mutex_unlock(&local->sta_mtx); |
1242 } | 1242 } |
1243 | 1243 |
1244 /* add back keys */ | 1244 /* add back keys */ |
1245 list_for_each_entry(sdata, &local->interfaces, list) | 1245 list_for_each_entry(sdata, &local->interfaces, list) |
1246 if (ieee80211_sdata_running(sdata)) | 1246 if (ieee80211_sdata_running(sdata)) |
1247 ieee80211_enable_keys(sdata); | 1247 ieee80211_enable_keys(sdata); |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1413 | 1413 |
1414 size_t ieee80211_ie_split_vendor(const u8 *ies, size_t ielen, size_t offset) | 1414 size_t ieee80211_ie_split_vendor(const u8 *ies, size_t ielen, size_t offset) |
1415 { | 1415 { |
1416 size_t pos = offset; | 1416 size_t pos = offset; |
1417 | 1417 |
1418 while (pos < ielen && ies[pos] != WLAN_EID_VENDOR_SPECIFIC) | 1418 while (pos < ielen && ies[pos] != WLAN_EID_VENDOR_SPECIFIC) |
1419 pos += 2 + ies[pos + 1]; | 1419 pos += 2 + ies[pos + 1]; |
1420 | 1420 |
1421 return pos; | 1421 return pos; |
1422 } | 1422 } |
OLD | NEW |