<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/net/wireless/broadcom, branch v4.12-rc4</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Merge tag 'mac80211-next-for-davem-2017-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next</title>
<updated>2017-04-28T18:41:15+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2017-04-28T18:41:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=cec381919818a9a0cb85600b3c82404bdd38cf36'/>
<id>cec381919818a9a0cb85600b3c82404bdd38cf36</id>
<content type='text'>
Johannes Berg says:

====================
Another set of patches for -next:
 * API support for concurrent scheduled scan requests
 * API changes for roaming reporting
 * BSS max idle support in mac80211
 * API changes for TX status reporting in mac80211
 * API changes for RX rate reporting in mac80211
 * rewrite monitor logic to prepare for BPF filters
 * bugfix for rare devices without 2.4 GHz support
 * a bugfix for recent DFS changes
 * some further cleanups

The API changes are actually at a nice time, since it's
typically quiet just before the merge window, and trees
can be synchronized easily during it.
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Johannes Berg says:

====================
Another set of patches for -next:
 * API support for concurrent scheduled scan requests
 * API changes for roaming reporting
 * BSS max idle support in mac80211
 * API changes for TX status reporting in mac80211
 * API changes for RX rate reporting in mac80211
 * rewrite monitor logic to prepare for BPF filters
 * bugfix for rare devices without 2.4 GHz support
 * a bugfix for recent DFS changes
 * some further cleanups

The API changes are actually at a nice time, since it's
typically quiet just before the merge window, and trees
can be synchronized easily during it.
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: add request id to cfg80211_sched_scan_*() api</title>
<updated>2017-04-28T12:51:43+00:00</updated>
<author>
<name>Arend Van Spriel</name>
<email>arend.vanspriel@broadcom.com</email>
</author>
<published>2017-04-28T12:40:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b34939b9836950d261610132853311054b507247'/>
<id>b34939b9836950d261610132853311054b507247</id>
<content type='text'>
Have proper request id filled in the SCHED_SCAN_RESULTS and
SCHED_SCAN_STOPPED notifications toward user-space by having the
driver provide it through the api.

Reviewed-by: Hante Meuleman &lt;hante.meuleman@broadcom.com&gt;
Reviewed-by: Pieter-Paul Giesberts &lt;pieter-paul.giesberts@broadcom.com&gt;
Reviewed-by: Franky Lin &lt;franky.lin@broadcom.com&gt;
Signed-off-by: Arend van Spriel &lt;arend.vanspriel@broadcom.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Have proper request id filled in the SCHED_SCAN_RESULTS and
SCHED_SCAN_STOPPED notifications toward user-space by having the
driver provide it through the api.

Reviewed-by: Hante Meuleman &lt;hante.meuleman@broadcom.com&gt;
Reviewed-by: Pieter-Paul Giesberts &lt;pieter-paul.giesberts@broadcom.com&gt;
Reviewed-by: Franky Lin &lt;franky.lin@broadcom.com&gt;
Signed-off-by: Arend van Spriel &lt;arend.vanspriel@broadcom.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: unify cfg80211_roamed() and cfg80211_roamed_bss()</title>
<updated>2017-04-28T10:28:44+00:00</updated>
<author>
<name>Avraham Stern</name>
<email>avraham.stern@intel.com</email>
</author>
<published>2017-04-26T07:58:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=29ce6ecbb83c9185d76e3a7c340c9702d2a54961'/>
<id>29ce6ecbb83c9185d76e3a7c340c9702d2a54961</id>
<content type='text'>
cfg80211_roamed() and cfg80211_roamed_bss() take the same arguments
except that cfg80211_roamed() requires the BSSID and
cfg80211_roamed_bss() requires the bss entry.

Unify the two functions by using a struct for driver initiated
roaming information so that either the BSSID or the bss entry can be
passed as an argument to the unified function.

Signed-off-by: Avraham Stern &lt;avraham.stern@intel.com&gt;
[modified the ath6k, brcm80211, rndis and wlan-ng drivers accordingly]
Signed-off-by: Luca Coelho &lt;luciano.coelho@intel.com&gt;
[modify brcmfmac to remove the useless cast, spotted by Arend]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
cfg80211_roamed() and cfg80211_roamed_bss() take the same arguments
except that cfg80211_roamed() requires the BSSID and
cfg80211_roamed_bss() requires the bss entry.

Unify the two functions by using a struct for driver initiated
roaming information so that either the BSSID or the bss entry can be
passed as an argument to the unified function.

Signed-off-by: Avraham Stern &lt;avraham.stern@intel.com&gt;
[modified the ath6k, brcm80211, rndis and wlan-ng drivers accordingly]
Signed-off-by: Luca Coelho &lt;luciano.coelho@intel.com&gt;
[modify brcmfmac to remove the useless cast, spotted by Arend]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: separate encoding/bandwidth from flags</title>
<updated>2017-04-28T08:41:45+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2017-04-26T10:14:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=da6a4352e7c867f81d7336f6517e819b3cce06bf'/>
<id>da6a4352e7c867f81d7336f6517e819b3cce06bf</id>
<content type='text'>
We currently use a lot of flags that are mutually incompatible,
separate this out into actual encoding and bandwidth enum values.

Much of this again done with spatch, with manual post-editing,
mostly to add the switch statements and get rid of the conversions.

@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_80MHZ
+status-&gt;bw = RATE_INFO_BW_80
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_40MHZ
+status-&gt;bw = RATE_INFO_BW_40
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_20MHZ
+status-&gt;bw = RATE_INFO_BW_20
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_160MHZ
+status-&gt;bw = RATE_INFO_BW_160
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_5MHZ
+status-&gt;bw = RATE_INFO_BW_5
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_10MHZ
+status-&gt;bw = RATE_INFO_BW_10

@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_VHT
+status-&gt;encoding = RX_ENC_VHT
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_HT
+status-&gt;encoding = RX_ENC_HT
@@
expression status;
@@
-status.enc_flags |= RX_ENC_FLAG_VHT
+status.encoding = RX_ENC_VHT
@@
expression status;
@@
-status.enc_flags |= RX_ENC_FLAG_HT
+status.encoding = RX_ENC_HT

@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_HT)
+(status-&gt;encoding == RX_ENC_HT)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_VHT)
+(status-&gt;encoding == RX_ENC_VHT)

@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_5MHZ)
+(status-&gt;bw == RATE_INFO_BW_5)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_10MHZ)
+(status-&gt;bw == RATE_INFO_BW_10)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_40MHZ)
+(status-&gt;bw == RATE_INFO_BW_40)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_80MHZ)
+(status-&gt;bw == RATE_INFO_BW_80)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_160MHZ)
+(status-&gt;bw == RATE_INFO_BW_160)

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We currently use a lot of flags that are mutually incompatible,
separate this out into actual encoding and bandwidth enum values.

Much of this again done with spatch, with manual post-editing,
mostly to add the switch statements and get rid of the conversions.

@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_80MHZ
+status-&gt;bw = RATE_INFO_BW_80
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_40MHZ
+status-&gt;bw = RATE_INFO_BW_40
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_20MHZ
+status-&gt;bw = RATE_INFO_BW_20
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_160MHZ
+status-&gt;bw = RATE_INFO_BW_160
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_5MHZ
+status-&gt;bw = RATE_INFO_BW_5
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_10MHZ
+status-&gt;bw = RATE_INFO_BW_10

@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_VHT
+status-&gt;encoding = RX_ENC_VHT
@@
expression status;
@@
-status-&gt;enc_flags |= RX_ENC_FLAG_HT
+status-&gt;encoding = RX_ENC_HT
@@
expression status;
@@
-status.enc_flags |= RX_ENC_FLAG_VHT
+status.encoding = RX_ENC_VHT
@@
expression status;
@@
-status.enc_flags |= RX_ENC_FLAG_HT
+status.encoding = RX_ENC_HT

@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_HT)
+(status-&gt;encoding == RX_ENC_HT)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_VHT)
+(status-&gt;encoding == RX_ENC_VHT)

@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_5MHZ)
+(status-&gt;bw == RATE_INFO_BW_5)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_10MHZ)
+(status-&gt;bw == RATE_INFO_BW_10)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_40MHZ)
+(status-&gt;bw == RATE_INFO_BW_40)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_80MHZ)
+(status-&gt;bw == RATE_INFO_BW_80)
@@
expression status;
@@
-(status-&gt;enc_flags &amp; RX_ENC_FLAG_160MHZ)
+(status-&gt;bw == RATE_INFO_BW_160)

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: clean up rate encoding bits in RX status</title>
<updated>2017-04-28T08:41:38+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2017-04-26T09:13:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=7fdd69c5af2160236e97668bc1fb7d70855c66ae'/>
<id>7fdd69c5af2160236e97668bc1fb7d70855c66ae</id>
<content type='text'>
In preparation for adding support for HE rates, clean up
the driver report encoding for rate/bandwidth reporting
on RX frames.

Much of this patch was done with the following spatch:

@@
expression status;
@@
-status-&gt;flag &amp; (RX_FLAG_HT | RX_FLAG_VHT)
+status-&gt;enc_flags &amp; (RX_ENC_FLAG_HT | RX_ENC_FLAG_VHT)

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_SHORTPRE
+status-&gt;enc_flags op RX_ENC_FLAG_SHORTPRE
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_SHORTPRE
+status-&gt;enc_flags &amp; RX_ENC_FLAG_SHORTPRE

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_HT
+status-&gt;enc_flags op RX_ENC_FLAG_HT
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_HT
+status-&gt;enc_flags &amp; RX_ENC_FLAG_HT

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_40MHZ
+status-&gt;enc_flags op RX_ENC_FLAG_40MHZ
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_40MHZ
+status-&gt;enc_flags &amp; RX_ENC_FLAG_40MHZ

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_SHORT_GI
+status-&gt;enc_flags op RX_ENC_FLAG_SHORT_GI
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_SHORT_GI
+status-&gt;enc_flags &amp; RX_ENC_FLAG_SHORT_GI

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_HT_GF
+status-&gt;enc_flags op RX_ENC_FLAG_HT_GF
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_HT_GF
+status-&gt;enc_flags &amp; RX_ENC_FLAG_HT_GF

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_VHT
+status-&gt;enc_flags op RX_ENC_FLAG_VHT
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_VHT
+status-&gt;enc_flags &amp; RX_ENC_FLAG_VHT

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_STBC_MASK
+status-&gt;enc_flags op RX_ENC_FLAG_STBC_MASK
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_STBC_MASK
+status-&gt;enc_flags &amp; RX_ENC_FLAG_STBC_MASK

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_LDPC
+status-&gt;enc_flags op RX_ENC_FLAG_LDPC
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_LDPC
+status-&gt;enc_flags &amp; RX_ENC_FLAG_LDPC

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_10MHZ
+status-&gt;enc_flags op RX_ENC_FLAG_10MHZ
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_10MHZ
+status-&gt;enc_flags &amp; RX_ENC_FLAG_10MHZ

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_5MHZ
+status-&gt;enc_flags op RX_ENC_FLAG_5MHZ
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_5MHZ
+status-&gt;enc_flags &amp; RX_ENC_FLAG_5MHZ

@@
assignment operator op;
expression status;
@@
-status-&gt;vht_flag op RX_VHT_FLAG_80MHZ
+status-&gt;enc_flags op RX_ENC_FLAG_80MHZ
@@
expression status;
@@
-status-&gt;vht_flag &amp; RX_VHT_FLAG_80MHZ
+status-&gt;enc_flags &amp; RX_ENC_FLAG_80MHZ

@@
assignment operator op;
expression status;
@@
-status-&gt;vht_flag op RX_VHT_FLAG_160MHZ
+status-&gt;enc_flags op RX_ENC_FLAG_160MHZ
@@
expression status;
@@
-status-&gt;vht_flag &amp; RX_VHT_FLAG_160MHZ
+status-&gt;enc_flags &amp; RX_ENC_FLAG_160MHZ

@@
assignment operator op;
expression status;
@@
-status-&gt;vht_flag op RX_VHT_FLAG_BF
+status-&gt;enc_flags op RX_ENC_FLAG_BF
@@
expression status;
@@
-status-&gt;vht_flag &amp; RX_VHT_FLAG_BF
+status-&gt;enc_flags &amp; RX_ENC_FLAG_BF

@@
assignment operator op;
expression status, STBC;
@@
-status-&gt;flag op STBC &lt;&lt; RX_FLAG_STBC_SHIFT
+status-&gt;enc_flags op STBC &lt;&lt; RX_ENC_FLAG_STBC_SHIFT

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_SHORTPRE
+status.enc_flags op RX_ENC_FLAG_SHORTPRE
@@
expression status;
@@
-status.flag &amp; RX_FLAG_SHORTPRE
+status.enc_flags &amp; RX_ENC_FLAG_SHORTPRE

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_HT
+status.enc_flags op RX_ENC_FLAG_HT
@@
expression status;
@@
-status.flag &amp; RX_FLAG_HT
+status.enc_flags &amp; RX_ENC_FLAG_HT

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_40MHZ
+status.enc_flags op RX_ENC_FLAG_40MHZ
@@
expression status;
@@
-status.flag &amp; RX_FLAG_40MHZ
+status.enc_flags &amp; RX_ENC_FLAG_40MHZ

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_SHORT_GI
+status.enc_flags op RX_ENC_FLAG_SHORT_GI
@@
expression status;
@@
-status.flag &amp; RX_FLAG_SHORT_GI
+status.enc_flags &amp; RX_ENC_FLAG_SHORT_GI

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_HT_GF
+status.enc_flags op RX_ENC_FLAG_HT_GF
@@
expression status;
@@
-status.flag &amp; RX_FLAG_HT_GF
+status.enc_flags &amp; RX_ENC_FLAG_HT_GF

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_VHT
+status.enc_flags op RX_ENC_FLAG_VHT
@@
expression status;
@@
-status.flag &amp; RX_FLAG_VHT
+status.enc_flags &amp; RX_ENC_FLAG_VHT

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_STBC_MASK
+status.enc_flags op RX_ENC_FLAG_STBC_MASK
@@
expression status;
@@
-status.flag &amp; RX_FLAG_STBC_MASK
+status.enc_flags &amp; RX_ENC_FLAG_STBC_MASK

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_LDPC
+status.enc_flags op RX_ENC_FLAG_LDPC
@@
expression status;
@@
-status.flag &amp; RX_FLAG_LDPC
+status.enc_flags &amp; RX_ENC_FLAG_LDPC

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_10MHZ
+status.enc_flags op RX_ENC_FLAG_10MHZ
@@
expression status;
@@
-status.flag &amp; RX_FLAG_10MHZ
+status.enc_flags &amp; RX_ENC_FLAG_10MHZ

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_5MHZ
+status.enc_flags op RX_ENC_FLAG_5MHZ
@@
expression status;
@@
-status.flag &amp; RX_FLAG_5MHZ
+status.enc_flags &amp; RX_ENC_FLAG_5MHZ

@@
assignment operator op;
expression status;
@@
-status.vht_flag op RX_VHT_FLAG_80MHZ
+status.enc_flags op RX_ENC_FLAG_80MHZ
@@
expression status;
@@
-status.vht_flag &amp; RX_VHT_FLAG_80MHZ
+status.enc_flags &amp; RX_ENC_FLAG_80MHZ

@@
assignment operator op;
expression status;
@@
-status.vht_flag op RX_VHT_FLAG_160MHZ
+status.enc_flags op RX_ENC_FLAG_160MHZ
@@
expression status;
@@
-status.vht_flag &amp; RX_VHT_FLAG_160MHZ
+status.enc_flags &amp; RX_ENC_FLAG_160MHZ

@@
assignment operator op;
expression status;
@@
-status.vht_flag op RX_VHT_FLAG_BF
+status.enc_flags op RX_ENC_FLAG_BF
@@
expression status;
@@
-status.vht_flag &amp; RX_VHT_FLAG_BF
+status.enc_flags &amp; RX_ENC_FLAG_BF

@@
assignment operator op;
expression status, STBC;
@@
-status.flag op STBC &lt;&lt; RX_FLAG_STBC_SHIFT
+status.enc_flags op STBC &lt;&lt; RX_ENC_FLAG_STBC_SHIFT

@@
@@
-RX_FLAG_STBC_SHIFT
+RX_ENC_FLAG_STBC_SHIFT

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In preparation for adding support for HE rates, clean up
the driver report encoding for rate/bandwidth reporting
on RX frames.

Much of this patch was done with the following spatch:

@@
expression status;
@@
-status-&gt;flag &amp; (RX_FLAG_HT | RX_FLAG_VHT)
+status-&gt;enc_flags &amp; (RX_ENC_FLAG_HT | RX_ENC_FLAG_VHT)

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_SHORTPRE
+status-&gt;enc_flags op RX_ENC_FLAG_SHORTPRE
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_SHORTPRE
+status-&gt;enc_flags &amp; RX_ENC_FLAG_SHORTPRE

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_HT
+status-&gt;enc_flags op RX_ENC_FLAG_HT
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_HT
+status-&gt;enc_flags &amp; RX_ENC_FLAG_HT

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_40MHZ
+status-&gt;enc_flags op RX_ENC_FLAG_40MHZ
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_40MHZ
+status-&gt;enc_flags &amp; RX_ENC_FLAG_40MHZ

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_SHORT_GI
+status-&gt;enc_flags op RX_ENC_FLAG_SHORT_GI
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_SHORT_GI
+status-&gt;enc_flags &amp; RX_ENC_FLAG_SHORT_GI

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_HT_GF
+status-&gt;enc_flags op RX_ENC_FLAG_HT_GF
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_HT_GF
+status-&gt;enc_flags &amp; RX_ENC_FLAG_HT_GF

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_VHT
+status-&gt;enc_flags op RX_ENC_FLAG_VHT
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_VHT
+status-&gt;enc_flags &amp; RX_ENC_FLAG_VHT

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_STBC_MASK
+status-&gt;enc_flags op RX_ENC_FLAG_STBC_MASK
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_STBC_MASK
+status-&gt;enc_flags &amp; RX_ENC_FLAG_STBC_MASK

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_LDPC
+status-&gt;enc_flags op RX_ENC_FLAG_LDPC
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_LDPC
+status-&gt;enc_flags &amp; RX_ENC_FLAG_LDPC

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_10MHZ
+status-&gt;enc_flags op RX_ENC_FLAG_10MHZ
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_10MHZ
+status-&gt;enc_flags &amp; RX_ENC_FLAG_10MHZ

@@
assignment operator op;
expression status;
@@
-status-&gt;flag op RX_FLAG_5MHZ
+status-&gt;enc_flags op RX_ENC_FLAG_5MHZ
@@
expression status;
@@
-status-&gt;flag &amp; RX_FLAG_5MHZ
+status-&gt;enc_flags &amp; RX_ENC_FLAG_5MHZ

@@
assignment operator op;
expression status;
@@
-status-&gt;vht_flag op RX_VHT_FLAG_80MHZ
+status-&gt;enc_flags op RX_ENC_FLAG_80MHZ
@@
expression status;
@@
-status-&gt;vht_flag &amp; RX_VHT_FLAG_80MHZ
+status-&gt;enc_flags &amp; RX_ENC_FLAG_80MHZ

@@
assignment operator op;
expression status;
@@
-status-&gt;vht_flag op RX_VHT_FLAG_160MHZ
+status-&gt;enc_flags op RX_ENC_FLAG_160MHZ
@@
expression status;
@@
-status-&gt;vht_flag &amp; RX_VHT_FLAG_160MHZ
+status-&gt;enc_flags &amp; RX_ENC_FLAG_160MHZ

@@
assignment operator op;
expression status;
@@
-status-&gt;vht_flag op RX_VHT_FLAG_BF
+status-&gt;enc_flags op RX_ENC_FLAG_BF
@@
expression status;
@@
-status-&gt;vht_flag &amp; RX_VHT_FLAG_BF
+status-&gt;enc_flags &amp; RX_ENC_FLAG_BF

@@
assignment operator op;
expression status, STBC;
@@
-status-&gt;flag op STBC &lt;&lt; RX_FLAG_STBC_SHIFT
+status-&gt;enc_flags op STBC &lt;&lt; RX_ENC_FLAG_STBC_SHIFT

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_SHORTPRE
+status.enc_flags op RX_ENC_FLAG_SHORTPRE
@@
expression status;
@@
-status.flag &amp; RX_FLAG_SHORTPRE
+status.enc_flags &amp; RX_ENC_FLAG_SHORTPRE

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_HT
+status.enc_flags op RX_ENC_FLAG_HT
@@
expression status;
@@
-status.flag &amp; RX_FLAG_HT
+status.enc_flags &amp; RX_ENC_FLAG_HT

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_40MHZ
+status.enc_flags op RX_ENC_FLAG_40MHZ
@@
expression status;
@@
-status.flag &amp; RX_FLAG_40MHZ
+status.enc_flags &amp; RX_ENC_FLAG_40MHZ

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_SHORT_GI
+status.enc_flags op RX_ENC_FLAG_SHORT_GI
@@
expression status;
@@
-status.flag &amp; RX_FLAG_SHORT_GI
+status.enc_flags &amp; RX_ENC_FLAG_SHORT_GI

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_HT_GF
+status.enc_flags op RX_ENC_FLAG_HT_GF
@@
expression status;
@@
-status.flag &amp; RX_FLAG_HT_GF
+status.enc_flags &amp; RX_ENC_FLAG_HT_GF

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_VHT
+status.enc_flags op RX_ENC_FLAG_VHT
@@
expression status;
@@
-status.flag &amp; RX_FLAG_VHT
+status.enc_flags &amp; RX_ENC_FLAG_VHT

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_STBC_MASK
+status.enc_flags op RX_ENC_FLAG_STBC_MASK
@@
expression status;
@@
-status.flag &amp; RX_FLAG_STBC_MASK
+status.enc_flags &amp; RX_ENC_FLAG_STBC_MASK

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_LDPC
+status.enc_flags op RX_ENC_FLAG_LDPC
@@
expression status;
@@
-status.flag &amp; RX_FLAG_LDPC
+status.enc_flags &amp; RX_ENC_FLAG_LDPC

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_10MHZ
+status.enc_flags op RX_ENC_FLAG_10MHZ
@@
expression status;
@@
-status.flag &amp; RX_FLAG_10MHZ
+status.enc_flags &amp; RX_ENC_FLAG_10MHZ

@@
assignment operator op;
expression status;
@@
-status.flag op RX_FLAG_5MHZ
+status.enc_flags op RX_ENC_FLAG_5MHZ
@@
expression status;
@@
-status.flag &amp; RX_FLAG_5MHZ
+status.enc_flags &amp; RX_ENC_FLAG_5MHZ

@@
assignment operator op;
expression status;
@@
-status.vht_flag op RX_VHT_FLAG_80MHZ
+status.enc_flags op RX_ENC_FLAG_80MHZ
@@
expression status;
@@
-status.vht_flag &amp; RX_VHT_FLAG_80MHZ
+status.enc_flags &amp; RX_ENC_FLAG_80MHZ

@@
assignment operator op;
expression status;
@@
-status.vht_flag op RX_VHT_FLAG_160MHZ
+status.enc_flags op RX_ENC_FLAG_160MHZ
@@
expression status;
@@
-status.vht_flag &amp; RX_VHT_FLAG_160MHZ
+status.enc_flags &amp; RX_ENC_FLAG_160MHZ

@@
assignment operator op;
expression status;
@@
-status.vht_flag op RX_VHT_FLAG_BF
+status.enc_flags op RX_ENC_FLAG_BF
@@
expression status;
@@
-status.vht_flag &amp; RX_VHT_FLAG_BF
+status.enc_flags &amp; RX_ENC_FLAG_BF

@@
assignment operator op;
expression status, STBC;
@@
-status.flag op STBC &lt;&lt; RX_FLAG_STBC_SHIFT
+status.enc_flags op STBC &lt;&lt; RX_ENC_FLAG_STBC_SHIFT

@@
@@
-RX_FLAG_STBC_SHIFT
+RX_ENC_FLAG_STBC_SHIFT

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cfg80211: add request id parameter to .sched_scan_stop() signature</title>
<updated>2017-04-26T21:17:40+00:00</updated>
<author>
<name>Arend Van Spriel</name>
<email>arend.vanspriel@broadcom.com</email>
</author>
<published>2017-04-21T12:05:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=3a3ecf1d5971b1f272124b445ef2d6b6ad3074fd'/>
<id>3a3ecf1d5971b1f272124b445ef2d6b6ad3074fd</id>
<content type='text'>
For multiple scheduled scan support the driver needs to know which
scheduled scan request is being stopped. Pass the request id in the
.sched_scan_stop() callback.

Reviewed-by: Hante Meuleman &lt;hante.meuleman@broadcom.com&gt;
Reviewed-by: Pieter-Paul Giesberts &lt;pieter-paul.giesberts@broadcom.com&gt;
Reviewed-by: Franky Lin &lt;franky.lin@broadcom.com&gt;
Signed-off-by: Arend van Spriel &lt;arend.vanspriel@broadcom.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For multiple scheduled scan support the driver needs to know which
scheduled scan request is being stopped. Pass the request id in the
.sched_scan_stop() callback.

Reviewed-by: Hante Meuleman &lt;hante.meuleman@broadcom.com&gt;
Reviewed-by: Pieter-Paul Giesberts &lt;pieter-paul.giesberts@broadcom.com&gt;
Reviewed-by: Franky Lin &lt;franky.lin@broadcom.com&gt;
Signed-off-by: Arend van Spriel &lt;arend.vanspriel@broadcom.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nl80211: allow multiple active scheduled scan requests</title>
<updated>2017-04-26T21:17:38+00:00</updated>
<author>
<name>Arend Van Spriel</name>
<email>arend.vanspriel@broadcom.com</email>
</author>
<published>2017-04-21T12:05:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ca986ad9bcd3893c8b0b4cc2cafcc8cf1554409c'/>
<id>ca986ad9bcd3893c8b0b4cc2cafcc8cf1554409c</id>
<content type='text'>
This patch implements the idea to have multiple scheduled scan requests
running concurrently. It mainly illustrates how to deal with the incoming
request from user-space in terms of backward compatibility. In order to
use multiple scheduled scans user-space needs to provide a flag attribute
NL80211_ATTR_SCHED_SCAN_MULTI to indicate support. If not the request is
treated as a legacy scan.

Drivers currently supporting scheduled scan are now indicating they support
a single scheduled scan request. This obsoletes WIPHY_FLAG_SUPPORTS_SCHED_SCAN.

Reviewed-by: Hante Meuleman &lt;hante.meuleman@broadcom.com&gt;
Reviewed-by: Pieter-Paul Giesberts &lt;pieter-paul.giesberts@broadcom.com&gt;
Reviewed-by: Franky Lin &lt;franky.lin@broadcom.com&gt;
Signed-off-by: Arend van Spriel &lt;arend.vanspriel@broadcom.com&gt;
[clean up netlink destroy path to avoid allocations, code cleanups]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch implements the idea to have multiple scheduled scan requests
running concurrently. It mainly illustrates how to deal with the incoming
request from user-space in terms of backward compatibility. In order to
use multiple scheduled scans user-space needs to provide a flag attribute
NL80211_ATTR_SCHED_SCAN_MULTI to indicate support. If not the request is
treated as a legacy scan.

Drivers currently supporting scheduled scan are now indicating they support
a single scheduled scan request. This obsoletes WIPHY_FLAG_SUPPORTS_SCHED_SCAN.

Reviewed-by: Hante Meuleman &lt;hante.meuleman@broadcom.com&gt;
Reviewed-by: Pieter-Paul Giesberts &lt;pieter-paul.giesberts@broadcom.com&gt;
Reviewed-by: Franky Lin &lt;franky.lin@broadcom.com&gt;
Signed-off-by: Arend van Spriel &lt;arend.vanspriel@broadcom.com&gt;
[clean up netlink destroy path to avoid allocations, code cleanups]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>brcmfmac: Make skb header writable before use</title>
<updated>2017-04-26T09:05:18+00:00</updated>
<author>
<name>James Hughes</name>
<email>james.hughes@raspberrypi.org</email>
</author>
<published>2017-04-25T09:15:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9cc4b7cb86cbcc6330a3faa8cd65268cd2d3c227'/>
<id>9cc4b7cb86cbcc6330a3faa8cd65268cd2d3c227</id>
<content type='text'>
The driver was making changes to the skb_header without
ensuring it was writable (i.e. uncloned).
This patch also removes some boiler plate header size
checking/adjustment code as that is also handled by the
skb_cow_header function used to make header writable.

Signed-off-by: James Hughes &lt;james.hughes@raspberrypi.org&gt;
Acked-by: Arend van Spriel &lt;arend.vanspriel@broadcom.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The driver was making changes to the skb_header without
ensuring it was writable (i.e. uncloned).
This patch also removes some boiler plate header size
checking/adjustment code as that is also handled by the
skb_cow_header function used to make header writable.

Signed-off-by: James Hughes &lt;james.hughes@raspberrypi.org&gt;
Acked-by: Arend van Spriel &lt;arend.vanspriel@broadcom.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>brcmfmac: Ensure pointer correctly set if skb data location changes</title>
<updated>2017-04-26T09:04:32+00:00</updated>
<author>
<name>James Hughes</name>
<email>james.hughes@raspberrypi.org</email>
</author>
<published>2017-04-24T11:40:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=455a1eb4654c24560eb9dfc634f29cba3d87601e'/>
<id>455a1eb4654c24560eb9dfc634f29cba3d87601e</id>
<content type='text'>
The incoming skb header may be resized if header space is
insufficient, which might change the data adddress in the skb.
Ensure that a cached pointer to that data is correctly set by
moving assignment to after any possible changes.

Signed-off-by: James Hughes &lt;james.hughes@raspberrypi.org&gt;

Acked-by: Arend van Spriel &lt;arend.vanspriel@broadcom.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The incoming skb header may be resized if header space is
insufficient, which might change the data adddress in the skb.
Ensure that a cached pointer to that data is correctly set by
moving assignment to after any possible changes.

Signed-off-by: James Hughes &lt;james.hughes@raspberrypi.org&gt;

Acked-by: Arend van Spriel &lt;arend.vanspriel@broadcom.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'wireless-drivers-next-for-davem-2017-04-21' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next</title>
<updated>2017-04-24T16:25:01+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2017-04-24T16:25:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ac2291ce1f17a99c052378927f2d3bcd6b0045a6'/>
<id>ac2291ce1f17a99c052378927f2d3bcd6b0045a6</id>
<content type='text'>
Kalle Valo says:

====================
wireless-drivers-next patches for 4.12

Quite a lot of patches for rtlwifi and iwlwifi this time, but changes
also for other active wireless drivers.

Major changes:

ath9k

* add support for Dell Wireless 1601 PCI device

* add debugfs file to manually override noise floor

ath10k

* bump up FW API to 6 for a new QCA6174 firmware branch

wil6210

* support 8 kB RX buffers

iwlwifi

* work to support A000 devices continues

* add support for FW API 30

* add Geographical and Dynamic Specific Absorption Rate (SAR) support

* support a few new PCI device IDs

rtlwifi

* work on adding Bluetooth coexistance support, not finished yet
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Kalle Valo says:

====================
wireless-drivers-next patches for 4.12

Quite a lot of patches for rtlwifi and iwlwifi this time, but changes
also for other active wireless drivers.

Major changes:

ath9k

* add support for Dell Wireless 1601 PCI device

* add debugfs file to manually override noise floor

ath10k

* bump up FW API to 6 for a new QCA6174 firmware branch

wil6210

* support 8 kB RX buffers

iwlwifi

* work to support A000 devices continues

* add support for FW API 30

* add Geographical and Dynamic Specific Absorption Rate (SAR) support

* support a few new PCI device IDs

rtlwifi

* work on adding Bluetooth coexistance support, not finished yet
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
