diff options
Diffstat (limited to 'net/mac80211/sta_info.h')
-rw-r--r-- | net/mac80211/sta_info.h | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h index 6f79bba5706e..5ff611a35979 100644 --- a/net/mac80211/sta_info.h +++ b/net/mac80211/sta_info.h | |||
@@ -162,11 +162,6 @@ struct sta_ampdu_mlme { | |||
162 | }; | 162 | }; |
163 | 163 | ||
164 | 164 | ||
165 | /* see __sta_info_unlink */ | ||
166 | #define STA_INFO_PIN_STAT_NORMAL 0 | ||
167 | #define STA_INFO_PIN_STAT_PINNED 1 | ||
168 | #define STA_INFO_PIN_STAT_DESTROY 2 | ||
169 | |||
170 | /** | 165 | /** |
171 | * struct sta_info - STA information | 166 | * struct sta_info - STA information |
172 | * | 167 | * |
@@ -187,7 +182,6 @@ struct sta_ampdu_mlme { | |||
187 | * @flaglock: spinlock for flags accesses | 182 | * @flaglock: spinlock for flags accesses |
188 | * @drv_unblock_wk: used for driver PS unblocking | 183 | * @drv_unblock_wk: used for driver PS unblocking |
189 | * @listen_interval: listen interval of this station, when we're acting as AP | 184 | * @listen_interval: listen interval of this station, when we're acting as AP |
190 | * @pin_status: used internally for pinning a STA struct into memory | ||
191 | * @flags: STA flags, see &enum ieee80211_sta_info_flags | 185 | * @flags: STA flags, see &enum ieee80211_sta_info_flags |
192 | * @ps_tx_buf: buffer of frames to transmit to this station | 186 | * @ps_tx_buf: buffer of frames to transmit to this station |
193 | * when it leaves power saving state | 187 | * when it leaves power saving state |
@@ -226,6 +220,7 @@ struct sta_ampdu_mlme { | |||
226 | * @debugfs: debug filesystem info | 220 | * @debugfs: debug filesystem info |
227 | * @sta: station information we share with the driver | 221 | * @sta: station information we share with the driver |
228 | * @dead: set to true when sta is unlinked | 222 | * @dead: set to true when sta is unlinked |
223 | * @uploaded: set to true when sta is uploaded to the driver | ||
229 | */ | 224 | */ |
230 | struct sta_info { | 225 | struct sta_info { |
231 | /* General information, mostly static */ | 226 | /* General information, mostly static */ |
@@ -245,11 +240,7 @@ struct sta_info { | |||
245 | 240 | ||
246 | bool dead; | 241 | bool dead; |
247 | 242 | ||
248 | /* | 243 | bool uploaded; |
249 | * for use by the internal lifetime management, | ||
250 | * see __sta_info_unlink | ||
251 | */ | ||
252 | u8 pin_status; | ||
253 | 244 | ||
254 | /* | 245 | /* |
255 | * frequently updated, locked with own spinlock (flaglock), | 246 | * frequently updated, locked with own spinlock (flaglock), |
@@ -449,18 +440,19 @@ struct sta_info *sta_info_alloc(struct ieee80211_sub_if_data *sdata, | |||
449 | * Insert STA info into hash table/list, returns zero or a | 440 | * Insert STA info into hash table/list, returns zero or a |
450 | * -EEXIST if (if the same MAC address is already present). | 441 | * -EEXIST if (if the same MAC address is already present). |
451 | * | 442 | * |
452 | * Calling this without RCU protection makes the caller | 443 | * Calling the non-rcu version makes the caller relinquish, |
453 | * relinquish its reference to @sta. | 444 | * the _rcu version calls read_lock_rcu() and must be called |
445 | * without it held. | ||
454 | */ | 446 | */ |
455 | int sta_info_insert(struct sta_info *sta); | 447 | int sta_info_insert(struct sta_info *sta); |
456 | /* | 448 | int sta_info_insert_rcu(struct sta_info *sta) __acquires(RCU); |
457 | * Unlink a STA info from the hash table/list. | 449 | int sta_info_insert_atomic(struct sta_info *sta); |
458 | * This can NULL the STA pointer if somebody else | 450 | |
459 | * has already unlinked it. | 451 | int sta_info_destroy_addr(struct ieee80211_sub_if_data *sdata, |
460 | */ | 452 | const u8 *addr); |
461 | void sta_info_unlink(struct sta_info **sta); | 453 | int sta_info_destroy_addr_bss(struct ieee80211_sub_if_data *sdata, |
454 | const u8 *addr); | ||
462 | 455 | ||
463 | void sta_info_destroy(struct sta_info *sta); | ||
464 | void sta_info_set_tim_bit(struct sta_info *sta); | 456 | void sta_info_set_tim_bit(struct sta_info *sta); |
465 | void sta_info_clear_tim_bit(struct sta_info *sta); | 457 | void sta_info_clear_tim_bit(struct sta_info *sta); |
466 | 458 | ||