<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/mac80211/rx.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-09-19T20:41:20Z</updated>
<entry>
<title>mac80211: don't update the PM state of a peer upon a multicast frame</title>
<updated>2018-09-19T20:41:20Z</updated>
<author>
<name>Emmanuel Grumbach</name>
</author>
<published>2018-08-20T10:56:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=faeb7c279e482fa85dbe538324764bb75cd07175'/>
<id>urn:sha1:faeb7c279e482fa85dbe538324764bb75cd07175</id>
<content type='text'>
commit 20932750d9c78d307e4f2f18f9c6a32b82b1e0e8 upstream.

I changed the way mac80211 updates the PM state of the peer.
I forgot that we could also have multicast frames from the
peer and that those frame should of course not change the
PM state of the peer: A peer goes to power save when it
needs to scan, but it won't send the broadcast Probe Request
with the PM bit set.

This made us mark the peer as awake when it wasn't and then
Intel's firmware would fail to transmit because the peer is
asleep according to its database. The driver warned about
this and it looked like this:

 WARNING: CPU: 0 PID: 184 at /usr/src/linux-4.16.14/drivers/net/wireless/intel/iwlwifi/mvm/tx.c:1369 iwl_mvm_rx_tx_cmd+0x53b/0x860
 CPU: 0 PID: 184 Comm: irq/124-iwlwifi Not tainted 4.16.14 #1
 RIP: 0010:iwl_mvm_rx_tx_cmd+0x53b/0x860
 Call Trace:
  iwl_pcie_rx_handle+0x220/0x880
  iwl_pcie_irq_handler+0x6c9/0xa20
  ? irq_forced_thread_fn+0x60/0x60
  ? irq_thread_dtor+0x90/0x90

The relevant code that spits the WARNING is:

        case TX_STATUS_FAIL_DEST_PS:
                /* the FW should have stopped the queue and not
                 * return this status
                 */
                WARN_ON(1);
                info-&gt;flags |= IEEE80211_TX_STAT_TX_FILTERED;

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=199967.

Fixes: 9fef65443388 ("mac80211: always update the PM state of a peer on MGMT / DATA frames")
Cc: &lt;stable@vger.kernel.org&gt;   #4.16+
Signed-off-by: Emmanuel Grumbach &lt;emmanuel.grumbach@intel.com&gt;
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>nl80211/mac80211: allow non-linear skb in rx_control_port</title>
<updated>2018-07-06T12:34:42Z</updated>
<author>
<name>Denis Kenzior</name>
</author>
<published>2018-07-03T20:05:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a948f713842ad5c23f125efc61dee6951893219c'/>
<id>urn:sha1:a948f713842ad5c23f125efc61dee6951893219c</id>
<content type='text'>
The current implementation of cfg80211_rx_control_port assumed that the
caller could provide a contiguous region of memory for the control port
frame to be sent up to userspace.  Unfortunately, many drivers produce
non-linear skbs, especially for data frames.  This resulted in userspace
getting notified of control port frames with correct metadata (from
address, port, etc) yet garbage / nonsense contents, resulting in bad
handshakes, disconnections, etc.

mac80211 linearizes skbs containing management frames.  But it didn't
seem worthwhile to do this for control port frames.  Thus the signature
of cfg80211_rx_control_port was changed to take the skb directly.
nl80211 then takes care of obtaining control port frame data directly
from the (linear | non-linear) skb.

The caller is still responsible for freeing the skb,
cfg80211_rx_control_port does not take ownership of it.

Fixes: 6a671a50f819 ("nl80211: Add CMD_CONTROL_PORT_FRAME API")
Signed-off-by: Denis Kenzior &lt;denkenz@gmail.com&gt;
[fix some kernel-doc formatting, add fixes tag]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: rename rtap_vendor_space to rtap_space</title>
<updated>2018-05-07T18:49:44Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2018-04-20T10:49:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c096b92aa79e603995982c4d324a52ee02775b85'/>
<id>urn:sha1:c096b92aa79e603995982c4d324a52ee02775b85</id>
<content type='text'>
Since all the HE data won't fit into struct ieee80211_rx_status,
we'll (have to) move that into the SKB proper. This means we'll
need to skip over more things in the future, so rename this to
remove the vendor-only notion from it.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: Send control port frames over nl80211</title>
<updated>2018-03-29T12:08:30Z</updated>
<author>
<name>Denis Kenzior</name>
</author>
<published>2018-03-26T17:52:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=018f6fbf540d7bd7223b7d0b29651c1dd5e1c606'/>
<id>urn:sha1:018f6fbf540d7bd7223b7d0b29651c1dd5e1c606</id>
<content type='text'>
If userspace requested control port frames to go over 80211, then do so.
The control packets are intercepted just prior to delivery of the packet
to the underlying network device.

Pre-authentication type frames (protocol: 0x88c7) are also forwarded
over nl80211.

Signed-off-by: Denis Kenzior &lt;denkenz@gmail.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: Use proper chan_width enum in sta opmode event</title>
<updated>2018-03-29T08:19:59Z</updated>
<author>
<name>tamizhr@codeaurora.org</name>
</author>
<published>2018-03-27T13:46:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=97f5f4254a61d7a104b5e609a6a0d9a10c73d29e'/>
<id>urn:sha1:97f5f4254a61d7a104b5e609a6a0d9a10c73d29e</id>
<content type='text'>
Bandwidth change value reported via nl80211 contains mac80211
specific enum value(ieee80211_sta_rx_bw) and which is not
understand by userspace application. Map the mac80211 specific
value to nl80211_chan_width enum value to avoid using wrong value
in the userspace application. And used station's ht/vht capability
to map IEEE80211_STA_RX_BW_20 and IEEE80211_STA_RX_BW_160 with
proper nl80211 value.

Signed-off-by: Tamizh chelvam &lt;tamizhr@codeaurora.org&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: Use proper smps_mode enum in sta opmode event</title>
<updated>2018-03-29T08:19:55Z</updated>
<author>
<name>tamizhr@codeaurora.org</name>
</author>
<published>2018-03-27T13:46:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=57566b20033f23bdc9f25d5fa4c36a7287aa08d2'/>
<id>urn:sha1:57566b20033f23bdc9f25d5fa4c36a7287aa08d2</id>
<content type='text'>
SMPS_MODE change value notified via nl80211 contains mac80211
specific value(ieee80211_smps_mode) and user space application
will not know those values. This patch add support to map
the mac80211 enum value to nl80211_smps_mode which will be
understood by the userspace application.

Signed-off-by: Tamizh chelvam &lt;tamizhr@codeaurora.org&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: inform wireless layer when frame RSSI is invalid</title>
<updated>2018-03-21T10:27:11Z</updated>
<author>
<name>Tosoni</name>
</author>
<published>2018-03-14T16:58:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ad22fb5bb53ce6bf5377f25529c0a007c61c6f5'/>
<id>urn:sha1:1ad22fb5bb53ce6bf5377f25529c0a007c61c6f5</id>
<content type='text'>
When the low-level driver returns an invalid RSSI indication,
set the signal value to 0 as an indication to the upper layer.

Also, skip average level computation if signal is invalid.

Signed-off-by: Jean Pierre TOSONI &lt;jp.tosoni@acksys.fr&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>net: drivers/net: Remove unnecessary skb_copy_expand OOM messages</title>
<updated>2018-03-15T18:28:03Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2018-03-12T15:07:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c3d5a96d5e5e6d5662d335a3bdfb76f35433f18'/>
<id>urn:sha1:0c3d5a96d5e5e6d5662d335a3bdfb76f35433f18</id>
<content type='text'>
skb_copy_expand without __GFP_NOWARN already does a dump_stack
on OOM so these messages are redundant.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2018-03-06T06:20:46Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2018-03-06T05:53:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0f3e9c97eb5a97972b0c0076a5cc01bb142f8e70'/>
<id>urn:sha1:0f3e9c97eb5a97972b0c0076a5cc01bb142f8e70</id>
<content type='text'>
All of the conflicts were cases of overlapping changes.

In net/core/devlink.c, we have to make care that the
resouce size_params have become a struct member rather
than a pointer to such an object.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mac80211: support A-MSDU in fast-rx</title>
<updated>2018-02-27T12:30:53Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2018-02-27T12:03:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=24bba078eca099b5bd25e17e97b485f013589f8c'/>
<id>urn:sha1:24bba078eca099b5bd25e17e97b485f013589f8c</id>
<content type='text'>
Only works if the IV was stripped from packets. Create a smaller
variant of ieee80211_rx_h_amsdu, which bypasses checks already done
within the fast-rx context.

In order to do so, update cfg80211's ieee80211_data_to_8023_exthdr()
to take the offset between header and snap.

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
</feed>
