summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-07-26 14:27:39 +0200
committerJohannes Berg <johannes.berg@intel.com>2012-08-20 14:13:42 +0200
commit3d01be72e6fe372a0602221090707a1f04c44646 (patch)
treeda97c2f82457418561008f00d0e3603d9c70569d
parentf9e6e95b63758202fe2ce43bd7c922db2ff50f80 (diff)
downloadlinux-stable-3d01be72e6fe372a0602221090707a1f04c44646.tar.gz
linux-stable-3d01be72e6fe372a0602221090707a1f04c44646.tar.bz2
linux-stable-3d01be72e6fe372a0602221090707a1f04c44646.zip
mac80211: don't assume channel is set in tracing
With the move to multi-channel and away from drv_config(), hw.conf.channel will not always be set, only for devices using the current API instead of the new channel context APIs. Check the channel is set before adding its frequency to the trace data. Also break some overly long lines in the code. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/mac80211/trace.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/net/mac80211/trace.h b/net/mac80211/trace.h
index 65e9a2a1a3e1..18d9c8a52e9e 100644
--- a/net/mac80211/trace.h
+++ b/net/mac80211/trace.h
@@ -274,9 +274,12 @@ TRACE_EVENT(drv_config,
__entry->dynamic_ps_timeout = local->hw.conf.dynamic_ps_timeout;
__entry->max_sleep_period = local->hw.conf.max_sleep_period;
__entry->listen_interval = local->hw.conf.listen_interval;
- __entry->long_frame_max_tx_count = local->hw.conf.long_frame_max_tx_count;
- __entry->short_frame_max_tx_count = local->hw.conf.short_frame_max_tx_count;
- __entry->center_freq = local->hw.conf.channel->center_freq;
+ __entry->long_frame_max_tx_count =
+ local->hw.conf.long_frame_max_tx_count;
+ __entry->short_frame_max_tx_count =
+ local->hw.conf.short_frame_max_tx_count;
+ __entry->center_freq = local->hw.conf.channel ?
+ local->hw.conf.channel->center_freq : 0;
__entry->channel_type = local->hw.conf.channel_type;
__entry->smps = local->hw.conf.smps_mode;
),