diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-10-26 10:13:06 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-10-30 04:33:40 -0400 |
commit | 50febf6a1a9270b3558671864a27b23f671598ab (patch) | |
tree | ba700ee435487e31857d165f836ea084983d10cb /net/mac80211/ieee80211_i.h | |
parent | 8a2fbedcdc9bec1d613961f97cb87d6b71a66076 (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.h | 3 |
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; |