mac80211: explicitly notify drivers of frame release
iwlwifi needs to know the number of frames that are going to be sent to a station while it is asleep so it can properly handle the uCode blocking of that station. Before uAPSD, we got by by telling the device that a single frame was going to be released whenever we encountered IEEE80211_TX_CTL_POLL_RESPONSE. With uAPSD, however, that is no longer possible since there could be more than a single frame. To support this model, add a new callback to notify drivers when frames are going to be released. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
5bade101ec
commit
40b9640883
4 changed files with 78 additions and 10 deletions
|
@ -1129,7 +1129,7 @@ TRACE_EVENT(drv_rssi_callback,
|
|||
)
|
||||
);
|
||||
|
||||
TRACE_EVENT(drv_release_buffered_frames,
|
||||
DECLARE_EVENT_CLASS(release_evt,
|
||||
TP_PROTO(struct ieee80211_local *local,
|
||||
struct ieee80211_sta *sta,
|
||||
u16 tids, int num_frames,
|
||||
|
@ -1164,6 +1164,26 @@ TRACE_EVENT(drv_release_buffered_frames,
|
|||
)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(release_evt, drv_release_buffered_frames,
|
||||
TP_PROTO(struct ieee80211_local *local,
|
||||
struct ieee80211_sta *sta,
|
||||
u16 tids, int num_frames,
|
||||
enum ieee80211_frame_release_type reason,
|
||||
bool more_data),
|
||||
|
||||
TP_ARGS(local, sta, tids, num_frames, reason, more_data)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(release_evt, drv_allow_buffered_frames,
|
||||
TP_PROTO(struct ieee80211_local *local,
|
||||
struct ieee80211_sta *sta,
|
||||
u16 tids, int num_frames,
|
||||
enum ieee80211_frame_release_type reason,
|
||||
bool more_data),
|
||||
|
||||
TP_ARGS(local, sta, tids, num_frames, reason, more_data)
|
||||
);
|
||||
|
||||
/*
|
||||
* Tracing for API calls that drivers call.
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue