'\" t .\" Title: ieee80211_sta_set_buffered .\" Author: .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: January 2017 .\" Manual: Advanced driver interface .\" Source: Kernel Hackers Manual 4.8.15 .\" Language: English .\" .TH "IEEE80211_STA_SET_BU" "9" "January 2017" "Kernel Hackers Manual 4\&.8\&." "Advanced driver interface" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" ieee80211_sta_set_buffered \- inform mac80211 about driver\-buffered frames .SH "SYNOPSIS" .HP \w'void\ ieee80211_sta_set_buffered('u .BI "void ieee80211_sta_set_buffered(struct\ ieee80211_sta\ *\ " "sta" ", u8\ " "tid" ", bool\ " "buffered" ");" .SH "ARGUMENTS" .PP \fIsta\fR .RS 4 struct ieee80211_sta pointer for the sleeping station .RE .PP \fItid\fR .RS 4 the TID that has buffered frames .RE .PP \fIbuffered\fR .RS 4 indicates whether or not frames are buffered for this TID .RE .SH "DESCRIPTION" .PP If a driver buffers frames for a powersave station instead of passing them back to mac80211 for retransmission, the station may still need to be told that there are buffered frames via the TIM bit\&. .PP This function informs mac80211 whether or not there are frames that are buffered in the driver for a given TID; mac80211 can then use this data to set the TIM bit (NOTE: This may call back into the driver\*(Aqs set_tim call! Beware of the locking!) .PP If all frames are released to the station (due to PS\-poll or uAPSD) then the driver needs to inform mac80211 that there no longer are frames buffered\&. However, when the station wakes up mac80211 assumes that all buffered frames will be transmitted and clears this data, drivers need to make sure they inform mac80211 about all buffered frames on the sleep transition (\fBsta_notify\fR with \fBSTA_NOTIFY_SLEEP\fR)\&. .PP Note that technically mac80211 only needs to know this per AC, not per TID, but since driver buffering will inevitably happen per TID (since it is related to aggregation) it is easier to make mac80211 map the TID to the AC as required instead of keeping track in all drivers that use this API\&. .SH "AUTHOR" .PP \fBJohannes Berg\fR <\&johannes@sipsolutions.net\&> .RS 4 Author. .RE .SH "COPYRIGHT" .br