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:

committed by
John W. Linville

parent
5bade101ec
commit
40b9640883
@@ -685,4 +685,19 @@ drv_release_buffered_frames(struct ieee80211_local *local,
|
||||
more_data);
|
||||
trace_drv_return_void(local);
|
||||
}
|
||||
|
||||
static inline void
|
||||
drv_allow_buffered_frames(struct ieee80211_local *local,
|
||||
struct sta_info *sta, u16 tids, int num_frames,
|
||||
enum ieee80211_frame_release_type reason,
|
||||
bool more_data)
|
||||
{
|
||||
trace_drv_allow_buffered_frames(local, &sta->sta, tids, num_frames,
|
||||
reason, more_data);
|
||||
if (local->ops->allow_buffered_frames)
|
||||
local->ops->allow_buffered_frames(&local->hw, &sta->sta,
|
||||
tids, num_frames, reason,
|
||||
more_data);
|
||||
trace_drv_return_void(local);
|
||||
}
|
||||
#endif /* __MAC80211_DRIVER_OPS */
|
||||
|
Reference in New Issue
Block a user