<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/mac80211/tx.c, branch linux-4.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-11-04T13:51:39Z</updated>
<entry>
<title>mac80211: fix pending queue hang due to TX_DROP</title>
<updated>2018-11-04T13:51:39Z</updated>
<author>
<name>Bob Copeland</name>
</author>
<published>2018-09-05T10:22:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2c4739102f0e3cbdf84f1a838d9f6db9727c7f25'/>
<id>urn:sha1:2c4739102f0e3cbdf84f1a838d9f6db9727c7f25</id>
<content type='text'>
[ Upstream commit 6eae4a6c2be387fec41b0d2782c4fffb57159498 ]

In our environment running lots of mesh nodes, we are seeing the
pending queue hang periodically, with the debugfs queues file showing
lines such as:

    00: 0x00000000/348

i.e. there are a large number of frames but no stop reason set.

One way this could happen is if queue processing from the pending
tasklet exited early without processing all frames, and without having
some future event (incoming frame, stop reason flag, ...) to reschedule
it.

Exactly this can occur today if ieee80211_tx() returns false due to
packet drops or power-save buffering in the tx handlers.  In the
past, this function would return true in such cases, and the change
to false doesn't seem to be intentional.  Fix this case by reverting
to the previous behavior.

Fixes: bb42f2d13ffc ("mac80211: Move reorder-sensitive TX handlers to after TXQ dequeue")
Signed-off-by: Bob Copeland &lt;bobcopeland@fb.com&gt;
Acked-by: Toke Høiland-Jørgensen &lt;toke@toke.dk&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mac80211: fix an off-by-one issue in A-MSDU max_subframe computation</title>
<updated>2018-10-10T06:55:55Z</updated>
<author>
<name>Lorenzo Bianconi</name>
</author>
<published>2018-08-30T23:04:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=39bcc4406f8385a9b67bdb64dc2d30efbc3c0d1f'/>
<id>urn:sha1:39bcc4406f8385a9b67bdb64dc2d30efbc3c0d1f</id>
<content type='text'>
[ Upstream commit 66eb02d839e8495ae6b612e2d09ff599374b80e2 ]

Initialize 'n' to 2 in order to take into account also the first
packet in the estimation of max_subframe limit for a given A-MSDU
since frag_tail pointer is NULL when ieee80211_amsdu_aggregate
routine analyzes the second frame.

Fixes: 6e0456b54545 ("mac80211: add A-MSDU tx support")
Signed-off-by: Lorenzo Bianconi &lt;lorenzo.bianconi@redhat.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mac80211: always account for A-MSDU header changes</title>
<updated>2018-10-10T06:55:54Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2018-08-30T08:55:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=58ec0839af0dcbcfda4a20fbde2326d2a98bf080'/>
<id>urn:sha1:58ec0839af0dcbcfda4a20fbde2326d2a98bf080</id>
<content type='text'>
[ Upstream commit aa58acf325b4aadeecae2bfc90658273b47dbace ]

In the error path of changing the SKB headroom of the second
A-MSDU subframe, we would not account for the already-changed
length of the first frame that just got converted to be in
A-MSDU format and thus is a bit longer now.

Fix this by doing the necessary accounting.

It would be possible to reorder the operations, but that would
make the code more complex (to calculate the necessary pad),
and the headroom expansion should not fail frequently enough
to make that worthwhile.

Fixes: 6e0456b54545 ("mac80211: add A-MSDU tx support")
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Acked-by: Lorenzo Bianconi &lt;lorenzo.bianconi@redhat.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mac80211: do not convert to A-MSDU if frag/subframe limited</title>
<updated>2018-10-10T06:55:54Z</updated>
<author>
<name>Lorenzo Bianconi</name>
</author>
<published>2018-08-29T19:03:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=511edc415c6cc3df8896f84cfdf80a39c189ee4e'/>
<id>urn:sha1:511edc415c6cc3df8896f84cfdf80a39c189ee4e</id>
<content type='text'>
[ Upstream commit 1eb507903665442360a959136dfa3234c43db085 ]

Do not start to aggregate packets in a A-MSDU frame (converting the
first subframe to A-MSDU, adding the header) if max_tx_fragments or
max_amsdu_subframes limits are already exceeded by it. In particular,
this happens when drivers set the limit to 1 to avoid A-MSDUs at all.

Signed-off-by: Lorenzo Bianconi &lt;lorenzo.bianconi@redhat.com&gt;
[reword commit message to be more precise]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mac80211: avoid kernel panic when building AMSDU from non-linear SKB</title>
<updated>2018-10-10T06:55:52Z</updated>
<author>
<name>Sara Sharon</name>
</author>
<published>2018-08-29T06:57:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06a62b7a0c5e6409e2112fab7ec32a772ba80185'/>
<id>urn:sha1:06a62b7a0c5e6409e2112fab7ec32a772ba80185</id>
<content type='text'>
[ Upstream commit 166ac9d55b0ab70b644e429be1f217fe8393cbd7 ]

When building building AMSDU from non-linear SKB, we hit a
kernel panic when trying to push the padding to the tail.
Instead, put the padding at the head of the next subframe.
This also fixes the A-MSDU subframes to not have the padding
accounted in the length field and not have pad at all for
the last subframe, both required by the spec.

Fixes: 6e0456b54545 ("mac80211: add A-MSDU tx support")
Signed-off-by: Sara Sharon &lt;sara.sharon@intel.com&gt;
Reviewed-by: Lorenzo Bianconi &lt;lorenzo.bianconi@redhat.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@microsoft.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>mac80211: disable BHs/preemption in ieee80211_tx_control_port()</title>
<updated>2018-06-29T07:39:08Z</updated>
<author>
<name>Denis Kenzior</name>
</author>
<published>2018-06-19T15:39:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e7441c9274a6a5453e06f4c2b8b5f72eca0a3f17'/>
<id>urn:sha1:e7441c9274a6a5453e06f4c2b8b5f72eca0a3f17</id>
<content type='text'>
On pre-emption enabled kernels the following print was being seen due to
missing local_bh_disable/local_bh_enable calls.  mac80211 assumes that
pre-emption is disabled in the data path.

    BUG: using smp_processor_id() in preemptible [00000000] code: iwd/517
    caller is __ieee80211_subif_start_xmit+0x144/0x210 [mac80211]
    [...]
    Call Trace:
    dump_stack+0x5c/0x80
    check_preemption_disabled.cold.0+0x46/0x51
    __ieee80211_subif_start_xmit+0x144/0x210 [mac80211]

Fixes: 911806491425 ("mac80211: Add support for tx_control_port")
Signed-off-by: Denis Kenzior &lt;denkenz@gmail.com&gt;
[commit message rewrite, fixes tag]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'net-next/master' into mac80211-next</title>
<updated>2018-05-23T09:05:59Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2018-05-23T09:05:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dd8070bff204a67fcb6585f18047841a895b68d7'/>
<id>urn:sha1:dd8070bff204a67fcb6585f18047841a895b68d7</id>
<content type='text'>
Bring in net-next which had pulled in net, so I have the changes
from mac80211 and can apply a patch that would otherwise conflict.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: Support the new cfg80211 TXQ stats API</title>
<updated>2018-05-08T11:25:22Z</updated>
<author>
<name>Toke Høiland-Jørgensen</name>
</author>
<published>2018-05-08T11:03:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2fe4a29a452a68ffa8a501000d0ef8095c242eba'/>
<id>urn:sha1:2fe4a29a452a68ffa8a501000d0ef8095c242eba</id>
<content type='text'>
This adds support to mac80211 to export TXQ stats via the newly added
cfg80211 API.

Signed-off-by: Toke Høiland-Jørgensen &lt;toke@toke.dk&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: add api to set CSA counter in mac80211</title>
<updated>2018-05-07T18:50:15Z</updated>
<author>
<name>Gregory Greenman</name>
</author>
<published>2018-04-20T10:49:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=03737001e463d458c13510fcb64179b3368aaeee'/>
<id>urn:sha1:03737001e463d458c13510fcb64179b3368aaeee</id>
<content type='text'>
Sometimes the most updated CSA counter values are known only
to the device. Add an API to pass this data to mac80211.

Signed-off-by: Gregory Greenman &lt;gregory.greenman@intel.com&gt;
Signed-off-by: Luca Coelho &lt;luciano.coelho@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: use timeout from the AddBA response instead of the request</title>
<updated>2018-05-07T18:35:15Z</updated>
<author>
<name>Sara Sharon</name>
</author>
<published>2018-04-20T10:49:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=914eac248d876f9c00cd1792ffec3d182c863f13'/>
<id>urn:sha1:914eac248d876f9c00cd1792ffec3d182c863f13</id>
<content type='text'>
2016 spec, section 10.24.2 specifies that the block ack
timeout in the ADD BA request is advisory.

That means we should check the value in the response and
act upon it (same as buffer size).

Signed-off-by: Sara Sharon &lt;sara.sharon@intel.com&gt;
Signed-off-by: Luca Coelho &lt;luciano.coelho@intel.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
</feed>
