aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-10-26 10:13:06 -0400
committerJohannes Berg <johannes.berg@intel.com>2012-10-30 04:33:40 -0400
commit50febf6a1a9270b3558671864a27b23f671598ab (patch)
treeba700ee435487e31857d165f836ea084983d10cb /net/mac80211/ieee80211_i.h
parent8a2fbedcdc9bec1d613961f97cb87d6b71a66076 (diff)
mac80211: use a counter for remain-on-channel cookie
Instead of using the pointer which can be re-used fairly quickly due to allocator patterns and then makes debugging difficult, maintain a counter and use its value. Since it's a 64-bit value it can't really wrap, but catch that case anyway since it most likely points to a bug somewhere. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index a1f7c139308e..d272e0cabc37 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -356,7 +356,7 @@ struct ieee80211_roc_work {
356 356
357 u32 duration, req_duration; 357 u32 duration, req_duration;
358 struct sk_buff *frame; 358 struct sk_buff *frame;
359 u64 mgmt_tx_cookie; 359 u64 cookie, mgmt_tx_cookie;
360}; 360};
361 361
362/* flags used in struct ieee80211_if_managed.flags */ 362/* flags used in struct ieee80211_if_managed.flags */
@@ -1142,6 +1142,7 @@ struct ieee80211_local {
1142 struct list_head roc_list; 1142 struct list_head roc_list;
1143 struct work_struct hw_roc_start, hw_roc_done; 1143 struct work_struct hw_roc_start, hw_roc_done;
1144 unsigned long hw_roc_start_time; 1144 unsigned long hw_roc_start_time;
1145 u64 roc_cookie_counter;
1145 1146
1146 struct idr ack_status_frames; 1147 struct idr ack_status_frames;
1147 spinlock_t ack_status_lock; 1148 spinlock_t ack_status_lock;