diff options
Diffstat (limited to 'net/mac80211/sta_info.h')
| -rw-r--r-- | net/mac80211/sta_info.h | 43 |
1 files changed, 12 insertions, 31 deletions
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h index 109db787ccb7..168a39a298bd 100644 --- a/net/mac80211/sta_info.h +++ b/net/mac80211/sta_info.h | |||
| @@ -167,8 +167,6 @@ struct sta_ampdu_mlme { | |||
| 167 | * @lock: used for locking all fields that require locking, see comments | 167 | * @lock: used for locking all fields that require locking, see comments |
| 168 | * in the header file. | 168 | * in the header file. |
| 169 | * @flaglock: spinlock for flags accesses | 169 | * @flaglock: spinlock for flags accesses |
| 170 | * @ht_info: HT capabilities of this STA | ||
| 171 | * @supp_rates: Bitmap of supported rates (per band) | ||
| 172 | * @addr: MAC address of this STA | 170 | * @addr: MAC address of this STA |
| 173 | * @aid: STA's unique AID (1..2007, 0 = not assigned yet), | 171 | * @aid: STA's unique AID (1..2007, 0 = not assigned yet), |
| 174 | * only used in AP (and IBSS?) mode | 172 | * only used in AP (and IBSS?) mode |
| @@ -191,20 +189,15 @@ struct sta_ampdu_mlme { | |||
| 191 | * @last_qual: qual of last received frame from this STA | 189 | * @last_qual: qual of last received frame from this STA |
| 192 | * @last_noise: noise of last received frame from this STA | 190 | * @last_noise: noise of last received frame from this STA |
| 193 | * @last_seq_ctrl: last received seq/frag number from this STA (per RX queue) | 191 | * @last_seq_ctrl: last received seq/frag number from this STA (per RX queue) |
| 194 | * @wme_rx_queue: TBD | ||
| 195 | * @tx_filtered_count: TBD | 192 | * @tx_filtered_count: TBD |
| 196 | * @tx_retry_failed: TBD | 193 | * @tx_retry_failed: TBD |
| 197 | * @tx_retry_count: TBD | 194 | * @tx_retry_count: TBD |
| 198 | * @tx_num_consecutive_failures: TBD | ||
| 199 | * @tx_num_mpdu_ok: TBD | ||
| 200 | * @tx_num_mpdu_fail: TBD | ||
| 201 | * @fail_avg: moving percentage of failed MSDUs | 195 | * @fail_avg: moving percentage of failed MSDUs |
| 202 | * @tx_packets: number of RX/TX MSDUs | 196 | * @tx_packets: number of RX/TX MSDUs |
| 203 | * @tx_bytes: TBD | 197 | * @tx_bytes: TBD |
| 204 | * @tx_fragments: number of transmitted MPDUs | 198 | * @tx_fragments: number of transmitted MPDUs |
| 205 | * @txrate_idx: TBD | 199 | * @last_txrate_idx: Index of the last used transmit rate |
| 206 | * @last_txrate_idx: TBD | 200 | * @tid_seq: TBD |
| 207 | * @wme_tx_queue: TBD | ||
| 208 | * @ampdu_mlme: TBD | 201 | * @ampdu_mlme: TBD |
| 209 | * @timer_to_tid: identity mapping to ID timers | 202 | * @timer_to_tid: identity mapping to ID timers |
| 210 | * @tid_to_tx_q: map tid to tx queue | 203 | * @tid_to_tx_q: map tid to tx queue |
| @@ -217,6 +210,7 @@ struct sta_ampdu_mlme { | |||
| 217 | * @plink_timeout: TBD | 210 | * @plink_timeout: TBD |
| 218 | * @plink_timer: TBD | 211 | * @plink_timer: TBD |
| 219 | * @debugfs: debug filesystem info | 212 | * @debugfs: debug filesystem info |
| 213 | * @sta: station information we share with the driver | ||
| 220 | */ | 214 | */ |
| 221 | struct sta_info { | 215 | struct sta_info { |
| 222 | /* General information, mostly static */ | 216 | /* General information, mostly static */ |
| @@ -229,10 +223,7 @@ struct sta_info { | |||
| 229 | void *rate_ctrl_priv; | 223 | void *rate_ctrl_priv; |
| 230 | spinlock_t lock; | 224 | spinlock_t lock; |
| 231 | spinlock_t flaglock; | 225 | spinlock_t flaglock; |
| 232 | struct ieee80211_ht_info ht_info; | 226 | |
| 233 | u64 supp_rates[IEEE80211_NUM_BANDS]; | ||
| 234 | u8 addr[ETH_ALEN]; | ||
| 235 | u16 aid; | ||
| 236 | u16 listen_interval; | 227 | u16 listen_interval; |
| 237 | 228 | ||
| 238 | /* | 229 | /* |
| @@ -265,17 +256,10 @@ struct sta_info { | |||
| 265 | int last_qual; | 256 | int last_qual; |
| 266 | int last_noise; | 257 | int last_noise; |
| 267 | __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES]; | 258 | __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES]; |
| 268 | #ifdef CONFIG_MAC80211_DEBUG_COUNTERS | ||
| 269 | unsigned int wme_rx_queue[NUM_RX_DATA_QUEUES]; | ||
| 270 | #endif | ||
| 271 | 259 | ||
| 272 | /* Updated from TX status path only, no locking requirements */ | 260 | /* Updated from TX status path only, no locking requirements */ |
| 273 | unsigned long tx_filtered_count; | 261 | unsigned long tx_filtered_count; |
| 274 | unsigned long tx_retry_failed, tx_retry_count; | 262 | unsigned long tx_retry_failed, tx_retry_count; |
| 275 | /* TODO: update in generic code not rate control? */ | ||
| 276 | u32 tx_num_consecutive_failures; | ||
| 277 | u32 tx_num_mpdu_ok; | ||
| 278 | u32 tx_num_mpdu_fail; | ||
| 279 | /* moving percentage of failed MSDUs */ | 263 | /* moving percentage of failed MSDUs */ |
| 280 | unsigned int fail_avg; | 264 | unsigned int fail_avg; |
| 281 | 265 | ||
| @@ -283,12 +267,8 @@ struct sta_info { | |||
| 283 | unsigned long tx_packets; | 267 | unsigned long tx_packets; |
| 284 | unsigned long tx_bytes; | 268 | unsigned long tx_bytes; |
| 285 | unsigned long tx_fragments; | 269 | unsigned long tx_fragments; |
| 286 | int txrate_idx; | 270 | unsigned int last_txrate_idx; |
| 287 | int last_txrate_idx; | ||
| 288 | u16 tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]; | 271 | u16 tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]; |
| 289 | #ifdef CONFIG_MAC80211_DEBUG_COUNTERS | ||
| 290 | unsigned int wme_tx_queue[NUM_RX_DATA_QUEUES]; | ||
| 291 | #endif | ||
| 292 | 272 | ||
| 293 | /* | 273 | /* |
| 294 | * Aggregation information, locked with lock. | 274 | * Aggregation information, locked with lock. |
| @@ -319,13 +299,13 @@ struct sta_info { | |||
| 319 | struct dentry *num_ps_buf_frames; | 299 | struct dentry *num_ps_buf_frames; |
| 320 | struct dentry *inactive_ms; | 300 | struct dentry *inactive_ms; |
| 321 | struct dentry *last_seq_ctrl; | 301 | struct dentry *last_seq_ctrl; |
| 322 | #ifdef CONFIG_MAC80211_DEBUG_COUNTERS | ||
| 323 | struct dentry *wme_rx_queue; | ||
| 324 | struct dentry *wme_tx_queue; | ||
| 325 | #endif | ||
| 326 | struct dentry *agg_status; | 302 | struct dentry *agg_status; |
| 303 | bool add_has_run; | ||
| 327 | } debugfs; | 304 | } debugfs; |
| 328 | #endif | 305 | #endif |
| 306 | |||
| 307 | /* keep last! */ | ||
| 308 | struct ieee80211_sta sta; | ||
| 329 | }; | 309 | }; |
| 330 | 310 | ||
| 331 | static inline enum plink_state sta_plink_state(struct sta_info *sta) | 311 | static inline enum plink_state sta_plink_state(struct sta_info *sta) |
| @@ -425,7 +405,7 @@ static inline u32 get_sta_flags(struct sta_info *sta) | |||
| 425 | /* | 405 | /* |
| 426 | * Get a STA info, must have be under RCU read lock. | 406 | * Get a STA info, must have be under RCU read lock. |
| 427 | */ | 407 | */ |
| 428 | struct sta_info *sta_info_get(struct ieee80211_local *local, u8 *addr); | 408 | struct sta_info *sta_info_get(struct ieee80211_local *local, const u8 *addr); |
| 429 | /* | 409 | /* |
| 430 | * Get STA info by index, BROKEN! | 410 | * Get STA info by index, BROKEN! |
| 431 | */ | 411 | */ |
| @@ -451,7 +431,6 @@ int sta_info_insert(struct sta_info *sta); | |||
| 451 | * has already unlinked it. | 431 | * has already unlinked it. |
| 452 | */ | 432 | */ |
| 453 | void sta_info_unlink(struct sta_info **sta); | 433 | void sta_info_unlink(struct sta_info **sta); |
| 454 | void __sta_info_unlink(struct sta_info **sta); | ||
| 455 | 434 | ||
| 456 | void sta_info_destroy(struct sta_info *sta); | 435 | void sta_info_destroy(struct sta_info *sta); |
| 457 | void sta_info_set_tim_bit(struct sta_info *sta); | 436 | void sta_info_set_tim_bit(struct sta_info *sta); |
| @@ -463,5 +442,7 @@ void sta_info_stop(struct ieee80211_local *local); | |||
| 463 | int sta_info_flush(struct ieee80211_local *local, | 442 | int sta_info_flush(struct ieee80211_local *local, |
| 464 | struct ieee80211_sub_if_data *sdata); | 443 | struct ieee80211_sub_if_data *sdata); |
| 465 | void sta_info_flush_delayed(struct ieee80211_sub_if_data *sdata); | 444 | void sta_info_flush_delayed(struct ieee80211_sub_if_data *sdata); |
| 445 | void ieee80211_sta_expire(struct ieee80211_sub_if_data *sdata, | ||
| 446 | unsigned long exp_time); | ||
| 466 | 447 | ||
| 467 | #endif /* STA_INFO_H */ | 448 | #endif /* STA_INFO_H */ |
