mac80211: add tracing for ieee80211_sta_set_buffered
authorJohannes Berg <johannes.berg@intel.com>
Thu, 19 Dec 2013 09:47:48 +0000 (10:47 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 6 Jan 2014 11:09:01 +0000 (12:09 +0100)
This is useful for debugging issues with drivers using this
function (erroneously), so add tracing for the API call.

Change-Id: Ice9d7eabb8fecbac188f0a741920d3488de700ec
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/sta_info.c
net/mac80211/trace.h

index 4576ba0..8da3af2 100644 (file)
@@ -1485,6 +1485,8 @@ void ieee80211_sta_set_buffered(struct ieee80211_sta *pubsta,
        if (WARN_ON(tid >= IEEE80211_NUM_TIDS))
                return;
 
+       trace_api_sta_set_buffered(sta->local, pubsta, tid, buffered);
+
        if (buffered)
                set_bit(tid, &sta->driver_buffered_tids);
        else
index da93666..a0b0aea 100644 (file)
@@ -1835,6 +1835,33 @@ TRACE_EVENT(api_eosp,
        )
 );
 
+TRACE_EVENT(api_sta_set_buffered,
+       TP_PROTO(struct ieee80211_local *local,
+                struct ieee80211_sta *sta,
+                u8 tid, bool buffered),
+
+       TP_ARGS(local, sta, tid, buffered),
+
+       TP_STRUCT__entry(
+               LOCAL_ENTRY
+               STA_ENTRY
+               __field(u8, tid)
+               __field(bool, buffered)
+       ),
+
+       TP_fast_assign(
+               LOCAL_ASSIGN;
+               STA_ASSIGN;
+               __entry->tid = tid;
+               __entry->buffered = buffered;
+       ),
+
+       TP_printk(
+               LOCAL_PR_FMT STA_PR_FMT " tid:%d buffered:%d",
+               LOCAL_PR_ARG, STA_PR_ARG, __entry->tid, __entry->buffered
+       )
+);
+
 /*
  * Tracing for internal functions
  * (which may also be called in response to driver calls)