1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>ieee80211_sta_set_buffered</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The 802.11 subsystems – for kernel developers"><link rel="up" href="AP.html#ps-client" title="support for powersaving clients"><link rel="prev" href="API-ieee80211-sta-ps-transition-ni.html" title="ieee80211_sta_ps_transition_ni"><link rel="next" href="API-ieee80211-sta-block-awake.html" title="ieee80211_sta_block_awake"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">ieee80211_sta_set_buffered</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-ieee80211-sta-ps-transition-ni.html">Prev</a> </td><th width="60%" align="center">support for powersaving clients</th><td width="20%" align="right"> <a accesskey="n" href="API-ieee80211-sta-block-awake.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-ieee80211-sta-set-buffered"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ieee80211_sta_set_buffered — 2 inform mac80211 about driver-buffered frames 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">ieee80211_sta_set_buffered </b>(</code></td><td>struct ieee80211_sta * <var class="pdparam">sta</var>, </td></tr><tr><td> </td><td>u8 <var class="pdparam">tid</var>, </td></tr><tr><td> </td><td>bool <var class="pdparam">buffered</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1114186084"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>sta</code></em></span></dt><dd><p> 4 <span class="structname">struct ieee80211_sta</span> pointer for the sleeping station 5 </p></dd><dt><span class="term"><em class="parameter"><code>tid</code></em></span></dt><dd><p> 6 the TID that has buffered frames 7 </p></dd><dt><span class="term"><em class="parameter"><code>buffered</code></em></span></dt><dd><p> 8 indicates whether or not frames are buffered for this TID 9 </p></dd></dl></div></div><div class="refsect1"><a name="idp1114189996"></a><h2>Description</h2><p> 10 If a driver buffers frames for a powersave station instead of passing 11 them back to mac80211 for retransmission, the station may still need 12 to be told that there are buffered frames via the TIM bit. 13 </p><p> 14 15 This function informs mac80211 whether or not there are frames that are 16 buffered in the driver for a given TID; mac80211 can then use this data 17 to set the TIM bit (NOTE: This may call back into the driver's set_tim 18 call! Beware of the locking!) 19 </p><p> 20 21 If all frames are released to the station (due to PS-poll or uAPSD) 22 then the driver needs to inform mac80211 that there no longer are 23 frames buffered. However, when the station wakes up mac80211 assumes 24 that all buffered frames will be transmitted and clears this data, 25 drivers need to make sure they inform mac80211 about all buffered 26 frames on the sleep transition (<code class="function">sta_notify</code> with <code class="constant">STA_NOTIFY_SLEEP</code>). 27 </p><p> 28 29 Note that technically mac80211 only needs to know this per AC, not per 30 TID, but since driver buffering will inevitably happen per TID (since 31 it is related to aggregation) it is easier to make mac80211 map the 32 TID to the AC as required instead of keeping track in all drivers that 33 use this API. 34</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-ieee80211-sta-ps-transition-ni.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="AP.html#ps-client">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-ieee80211-sta-block-awake.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">ieee80211_sta_ps_transition_ni</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">ieee80211_sta_block_awake</span></td></tr></table></div></body></html> 35