<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/mac80211/agg-tx.c, branch linux-4.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-09-30T08:12:45Z</updated>
<entry>
<title>mac80211: reject TSPEC TIDs (TSIDs) for aggregation</title>
<updated>2016-09-30T08:12:45Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2016-09-14T09:38:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=22f591e2171dc6e8210e0d891bbf7fcad19bf503'/>
<id>urn:sha1:22f591e2171dc6e8210e0d891bbf7fcad19bf503</id>
<content type='text'>
commit 85d5313ed717ad60769491c7c072d23bc0a68e7a upstream.

Since mac80211 doesn't currently support TSIDs 8-15 which can
only be used after QoS TSPEC negotiation (and not even after
WMM negotiation), reject attempts to set up aggregation
sessions for them, which might confuse drivers. In mac80211
we do correctly handle that, but the TSIDs should never get
used anyway, and drivers might not be able to handle it.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mac80211: add A-MSDU tx support</title>
<updated>2016-04-06T11:18:19Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2016-03-03T21:59:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6e0456b5454561c4e9fa9e8a4acea405e6d56c80'/>
<id>urn:sha1:6e0456b5454561c4e9fa9e8a4acea405e6d56c80</id>
<content type='text'>
Requires software tx queueing and fast-xmit support. For good
performance, drivers need frag_list support as well. This avoids the
need for copying data of aggregated frames. Running without it is only
supported for debugging purposes.

To avoid performance and packet size issues, the rate control module or
driver needs to limit the maximum A-MSDU size by setting
max_rc_amsdu_len in struct ieee80211_sta.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
[fix locking issue]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: pass block ack session timeout to to driver</title>
<updated>2016-01-14T10:13:17Z</updated>
<author>
<name>Sara Sharon</name>
</author>
<published>2015-12-30T14:06:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=50ea05efaf3bed7dd34bcc2635a8b3f53bd0ccc1'/>
<id>urn:sha1:50ea05efaf3bed7dd34bcc2635a8b3f53bd0ccc1</id>
<content type='text'>
Currently mac80211 does not inform the driver of the session
block ack timeout when starting a rx aggregation session.
Drivers that manage the reorder buffer need to know this
parameter.
Seeing that there are now too many arguments for the
drv_ampdu_action() function, wrap them inside a structure.

Signed-off-by: Sara Sharon &lt;sara.sharon@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: always set the buf_size in AddBA req to 64</title>
<updated>2015-11-20T10:39:40Z</updated>
<author>
<name>Gregory Greenman</name>
</author>
<published>2015-11-17T08:24:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ac0621971a26526cad8cf9db7626d5e50562a441'/>
<id>urn:sha1:ac0621971a26526cad8cf9db7626d5e50562a441</id>
<content type='text'>
Advertising reordering window in ADDBA less than 64 can crash some APs,
an example is LinkSys WRT120N (with FW v1.0.07 build 002 Jun 18 2012).
On the other hand, a driver may need to limit Tx A-MPDU size for its own
reasons, like specific HW limitations.

Signed-off-by: Gregory Greenman &lt;gregory.greenman@intel.com&gt;
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: allow to transmit A-MSDU within A-MPDU</title>
<updated>2015-09-22T13:21:23Z</updated>
<author>
<name>Emmanuel Grumbach</name>
</author>
<published>2015-08-16T08:13:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e3abc8ff0fc18b3925fd5d5c5fbd1613856f4e7c'/>
<id>urn:sha1:e3abc8ff0fc18b3925fd5d5c5fbd1613856f4e7c</id>
<content type='text'>
Advertise the capability to send A-MSDU within A-MPDU
in the AddBA request sent by mac80211. Let the driver
know about the peer's capabilities.

Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: convert HW flags to unsigned long bitmap</title>
<updated>2015-06-10T14:05:36Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2015-06-02T19:39:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=30686bf7f5b3c30831761e188a6e3cb33580fa48'/>
<id>urn:sha1:30686bf7f5b3c30831761e188a6e3cb33580fa48</id>
<content type='text'>
As we're running out of hardware capability flags pretty quickly,
convert them to use the regular test_bit() style unsigned long
bitmaps.

This introduces a number of helper functions/macros to set and to
test the bits, along with new debugfs code.

The occurrences of an explicit __clear_bit() are intentional, the
drivers were never supposed to change their supported bits on the
fly. We should investigate changing this to be a per-frame flag.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: add an intermediate software queue implementation</title>
<updated>2015-04-01T18:44:34Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2015-03-27T20:30:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ba8c3d6f16a1f9305c23ac1d2fd3992508c5ac03'/>
<id>urn:sha1:ba8c3d6f16a1f9305c23ac1d2fd3992508c5ac03</id>
<content type='text'>
This allows drivers to request per-vif and per-sta-tid queues from which
they can pull frames. This makes it easier to keep the hardware queues
short, and to improve fairness between clients and vifs.

The task of scheduling packet transmission is left up to the driver -
queueing is controlled by mac80211. Drivers can only dequeue packets by
calling ieee80211_tx_dequeue. This makes it possible to add active queue
management later without changing drivers using this code.

This can also be used as a starting point to implement A-MSDU
aggregation in a way that does not add artificially induced latency.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
[resolved minor context conflict, minor changes, endian annotations]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: reject aggregation sessions with non-HT peers</title>
<updated>2015-03-30T08:33:19Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2015-03-09T10:13:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8f9c77fc1e8d4dfc1e7dc631d193162c75feef2e'/>
<id>urn:sha1:8f9c77fc1e8d4dfc1e7dc631d193162c75feef2e</id>
<content type='text'>
If a peer or some local agent (rate control, ...) decides to start
an aggregation session but doesn't support HT (which also implies
QoS), reject it.

This is mostly a corner case as such peers normally won't try to
use block-ack sessions and rate control wouldn't start them, but
technically QoS stations could request it according to the spec.

However, since drivers don't really support such non-HT sessions
it's better to reject them.

Also, while at it, move the tracing for TX sessions earlier so it
captures the error cases as well.

Reviewed-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: agg-tx: avoid sending DelBA with sta-&gt;lock held</title>
<updated>2015-03-30T07:46:52Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2015-03-12T18:28:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2c158887f1185e04b3763ae346da9f71fcbc4429'/>
<id>urn:sha1:2c158887f1185e04b3763ae346da9f71fcbc4429</id>
<content type='text'>
The rate control locking caused a potential deadlock here due to the
locks being acquired in different orders, so that change cannot yet
be applied. However, there's no fundamental reason for this code to
hold the sta-&gt;lock while transmitting frames.

Clearly it's better not to hold the lock for longer periods of time,
which can happen here since we call all the way down to the driver.
Change the code a bit to not hold it while doing that.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: synchronously reserve TID per station</title>
<updated>2014-11-19T17:45:36Z</updated>
<author>
<name>Liad Kaufman</name>
</author>
<published>2014-11-19T11:47:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b6da911b3cf1d342f2f7123c9eb6463d299bca4e'/>
<id>urn:sha1:b6da911b3cf1d342f2f7123c9eb6463d299bca4e</id>
<content type='text'>
In TDLS (e.g., TDLS off-channel) there is a requirement for
some drivers to supply an unused TID between the AP and the
device to the FW, to allow sending PTI requests and to allow
the FW to aggregate on a specific TID for better throughput.

To ensure that the allocated TID is indeed unused, this patch
introduces an API for blocking the driver from TXing on that
TID.

Signed-off-by: Liad Kaufman &lt;liad.kaufman@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
</feed>
