Commit 6e045905 authored by Johannes Berg's avatar Johannes Berg

cfg80211: add complete data to station add/change tracing

Complete the tracepoint with the missing data - it's not printed
by default (a lot of it is dynamic arrays) but will be recorded
and be available during post-processing.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent a1056b1b
......@@ -623,12 +623,24 @@ DECLARE_EVENT_CLASS(station_add_change,
__field(u32, sta_flags_set)
__field(u32, sta_modify_mask)
__field(int, listen_interval)
__field(u16, capability)
__field(u16, aid)
__field(u8, plink_action)
__field(u8, plink_state)
__field(u8, uapsd_queues)
__field(u8, max_sp)
__field(u8, opmode_notif)
__field(bool, opmode_notif_used)
__array(u8, ht_capa, (int)sizeof(struct ieee80211_ht_cap))
__array(u8, vht_capa, (int)sizeof(struct ieee80211_vht_cap))
__array(char, vlan, IFNAMSIZ)
__dynamic_array(u8, supported_rates,
params->supported_rates_len)
__dynamic_array(u8, ext_capab, params->ext_capab_len)
__dynamic_array(u8, supported_channels,
params->supported_channels_len)
__dynamic_array(u8, supported_oper_classes,
params->supported_oper_classes_len)
),
TP_fast_assign(
WIPHY_ASSIGN;
......@@ -646,9 +658,35 @@ DECLARE_EVENT_CLASS(station_add_change,
if (params->ht_capa)
memcpy(__entry->ht_capa, params->ht_capa,
sizeof(struct ieee80211_ht_cap));
memset(__entry->vht_capa, 0, sizeof(struct ieee80211_vht_cap));
if (params->vht_capa)
memcpy(__entry->vht_capa, params->vht_capa,
sizeof(struct ieee80211_vht_cap));
memset(__entry->vlan, 0, sizeof(__entry->vlan));
if (params->vlan)
memcpy(__entry->vlan, params->vlan->name, IFNAMSIZ);
if (params->supported_rates && params->supported_rates_len)
memcpy(__get_dynamic_array(supported_rates),
params->supported_rates,
params->supported_rates_len);
if (params->ext_capab && params->ext_capab_len)
memcpy(__get_dynamic_array(ext_capab),
params->ext_capab,
params->ext_capab_len);
if (params->supported_channels &&
params->supported_channels_len)
memcpy(__get_dynamic_array(supported_channels),
params->supported_channels,
params->supported_channels_len);
if (params->supported_oper_classes &&
params->supported_oper_classes_len)
memcpy(__get_dynamic_array(supported_oper_classes),
params->supported_oper_classes,
params->supported_oper_classes_len);
__entry->max_sp = params->max_sp;
__entry->capability = params->capability;
__entry->opmode_notif = params->opmode_notif;
__entry->opmode_notif_used = params->opmode_notif_used;
),
TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", station mac: " MAC_PR_FMT
", station flags mask: %u, station flags set: %u, "
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment