1IEEE80211_STA_SET_BU(9)    Advanced driver interface   IEEE80211_STA_SET_BU(9)
2
3
4

NAME

6       ieee80211_sta_set_buffered - inform mac80211 about driver-buffered
7       frames
8

SYNOPSIS

10       void ieee80211_sta_set_buffered(struct ieee80211_sta * sta, u8 tid,
11                                       bool buffered);
12

ARGUMENTS

14       sta
15           struct ieee80211_sta pointer for the sleeping station
16
17       tid
18           the TID that has buffered frames
19
20       buffered
21           indicates whether or not frames are buffered for this TID
22

DESCRIPTION

24       If a driver buffers frames for a powersave station instead of passing
25       them back to mac80211 for retransmission, the station may still need to
26       be told that there are buffered frames via the TIM bit.
27
28       This function informs mac80211 whether or not there are frames that are
29       buffered in the driver for a given TID; mac80211 can then use this data
30       to set the TIM bit (NOTE: This may call back into the driver's set_tim
31       call! Beware of the locking!)
32
33       If all frames are released to the station (due to PS-poll or uAPSD)
34       then the driver needs to inform mac80211 that there no longer are
35       frames buffered. However, when the station wakes up mac80211 assumes
36       that all buffered frames will be transmitted and clears this data,
37       drivers need to make sure they inform mac80211 about all buffered
38       frames on the sleep transition (sta_notify with STA_NOTIFY_SLEEP).
39
40       Note that technically mac80211 only needs to know this per AC, not per
41       TID, but since driver buffering will inevitably happen per TID (since
42       it is related to aggregation) it is easier to make mac80211 map the TID
43       to the AC as required instead of keeping track in all drivers that use
44       this API.
45

AUTHOR

47       Johannes Berg <johannes@sipsolutions.net>
48           Author.
49
51Kernel Hackers Manual 3.10         June 2019           IEEE80211_STA_SET_BU(9)
Impressum