aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/cfg.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r--net/mac80211/cfg.c49
1 files changed, 26 insertions, 23 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index c8d969be440b..c43129efc3bf 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -341,11 +341,15 @@ static void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo)
341 sinfo->filled = STATION_INFO_INACTIVE_TIME | 341 sinfo->filled = STATION_INFO_INACTIVE_TIME |
342 STATION_INFO_RX_BYTES | 342 STATION_INFO_RX_BYTES |
343 STATION_INFO_TX_BYTES | 343 STATION_INFO_TX_BYTES |
344 STATION_INFO_RX_PACKETS |
345 STATION_INFO_TX_PACKETS |
344 STATION_INFO_TX_BITRATE; 346 STATION_INFO_TX_BITRATE;
345 347
346 sinfo->inactive_time = jiffies_to_msecs(jiffies - sta->last_rx); 348 sinfo->inactive_time = jiffies_to_msecs(jiffies - sta->last_rx);
347 sinfo->rx_bytes = sta->rx_bytes; 349 sinfo->rx_bytes = sta->rx_bytes;
348 sinfo->tx_bytes = sta->tx_bytes; 350 sinfo->tx_bytes = sta->tx_bytes;
351 sinfo->rx_packets = sta->rx_packets;
352 sinfo->tx_packets = sta->tx_packets;
349 353
350 if (sta->local->hw.flags & IEEE80211_HW_SIGNAL_DBM) { 354 if (sta->local->hw.flags & IEEE80211_HW_SIGNAL_DBM) {
351 sinfo->filled |= STATION_INFO_SIGNAL; 355 sinfo->filled |= STATION_INFO_SIGNAL;
@@ -1180,45 +1184,45 @@ static int set_mgmt_extra_ie_sta(struct ieee80211_sub_if_data *sdata,
1180 u8 subtype, u8 *ies, size_t ies_len) 1184 u8 subtype, u8 *ies, size_t ies_len)
1181{ 1185{
1182 struct ieee80211_local *local = sdata->local; 1186 struct ieee80211_local *local = sdata->local;
1183 struct ieee80211_if_sta *ifsta = &sdata->u.sta; 1187 struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
1184 1188
1185 switch (subtype) { 1189 switch (subtype) {
1186 case IEEE80211_STYPE_PROBE_REQ >> 4: 1190 case IEEE80211_STYPE_PROBE_REQ >> 4:
1187 if (local->ops->hw_scan) 1191 if (local->ops->hw_scan)
1188 break; 1192 break;
1189 kfree(ifsta->ie_probereq); 1193 kfree(ifmgd->ie_probereq);
1190 ifsta->ie_probereq = ies; 1194 ifmgd->ie_probereq = ies;
1191 ifsta->ie_probereq_len = ies_len; 1195 ifmgd->ie_probereq_len = ies_len;
1192 return 0; 1196 return 0;
1193 case IEEE80211_STYPE_PROBE_RESP >> 4: 1197 case IEEE80211_STYPE_PROBE_RESP >> 4:
1194 kfree(ifsta->ie_proberesp); 1198 kfree(ifmgd->ie_proberesp);
1195 ifsta->ie_proberesp = ies; 1199 ifmgd->ie_proberesp = ies;
1196 ifsta->ie_proberesp_len = ies_len; 1200 ifmgd->ie_proberesp_len = ies_len;
1197 return 0; 1201 return 0;
1198 case IEEE80211_STYPE_AUTH >> 4: 1202 case IEEE80211_STYPE_AUTH >> 4:
1199 kfree(ifsta->ie_auth); 1203 kfree(ifmgd->ie_auth);
1200 ifsta->ie_auth = ies; 1204 ifmgd->ie_auth = ies;
1201 ifsta->ie_auth_len = ies_len; 1205 ifmgd->ie_auth_len = ies_len;
1202 return 0; 1206 return 0;
1203 case IEEE80211_STYPE_ASSOC_REQ >> 4: 1207 case IEEE80211_STYPE_ASSOC_REQ >> 4:
1204 kfree(ifsta->ie_assocreq); 1208 kfree(ifmgd->ie_assocreq);
1205 ifsta->ie_assocreq = ies; 1209 ifmgd->ie_assocreq = ies;
1206 ifsta->ie_assocreq_len = ies_len; 1210 ifmgd->ie_assocreq_len = ies_len;
1207 return 0; 1211 return 0;
1208 case IEEE80211_STYPE_REASSOC_REQ >> 4: 1212 case IEEE80211_STYPE_REASSOC_REQ >> 4:
1209 kfree(ifsta->ie_reassocreq); 1213 kfree(ifmgd->ie_reassocreq);
1210 ifsta->ie_reassocreq = ies; 1214 ifmgd->ie_reassocreq = ies;
1211 ifsta->ie_reassocreq_len = ies_len; 1215 ifmgd->ie_reassocreq_len = ies_len;
1212 return 0; 1216 return 0;
1213 case IEEE80211_STYPE_DEAUTH >> 4: 1217 case IEEE80211_STYPE_DEAUTH >> 4:
1214 kfree(ifsta->ie_deauth); 1218 kfree(ifmgd->ie_deauth);
1215 ifsta->ie_deauth = ies; 1219 ifmgd->ie_deauth = ies;
1216 ifsta->ie_deauth_len = ies_len; 1220 ifmgd->ie_deauth_len = ies_len;
1217 return 0; 1221 return 0;
1218 case IEEE80211_STYPE_DISASSOC >> 4: 1222 case IEEE80211_STYPE_DISASSOC >> 4:
1219 kfree(ifsta->ie_disassoc); 1223 kfree(ifmgd->ie_disassoc);
1220 ifsta->ie_disassoc = ies; 1224 ifmgd->ie_disassoc = ies;
1221 ifsta->ie_disassoc_len = ies_len; 1225 ifmgd->ie_disassoc_len = ies_len;
1222 return 0; 1226 return 0;
1223 } 1227 }
1224 1228
@@ -1248,7 +1252,6 @@ static int ieee80211_set_mgmt_extra_ie(struct wiphy *wiphy,
1248 1252
1249 switch (sdata->vif.type) { 1253 switch (sdata->vif.type) {
1250 case NL80211_IFTYPE_STATION: 1254 case NL80211_IFTYPE_STATION:
1251 case NL80211_IFTYPE_ADHOC:
1252 ret = set_mgmt_extra_ie_sta(sdata, params->subtype, 1255 ret = set_mgmt_extra_ie_sta(sdata, params->subtype,
1253 ies, ies_len); 1256 ies, ies_len);
1254 break; 1257 break;