<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/net/wireless, branch v4.12-rc2</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Merge tag 'hwparam-20170420' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs</title>
<updated>2017-05-11T02:13:03+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2017-05-11T02:13:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=291b38a7565b41676cafd1b4052315a94d9c8977'/>
<id>291b38a7565b41676cafd1b4052315a94d9c8977</id>
<content type='text'>
Pull hw lockdown support from David Howells:
 "Annotation of module parameters that configure hardware resources
  including ioports, iomem addresses, irq lines and dma channels.

  This allows a future patch to prohibit the use of such module
  parameters to prevent that hardware from being abused to gain access
  to the running kernel image as part of locking the kernel down under
  UEFI secure boot conditions.

  Annotations are made by changing:

        module_param(n, t, p)
        module_param_named(n, v, t, p)
        module_param_array(n, t, m, p)

  to:

        module_param_hw(n, t, hwtype, p)
        module_param_hw_named(n, v, t, hwtype, p)
        module_param_hw_array(n, t, hwtype, m, p)

  where the module parameter refers to a hardware setting

  hwtype specifies the type of the resource being configured. This can
  be one of:

        ioport          Module parameter configures an I/O port
        iomem           Module parameter configures an I/O mem address
        ioport_or_iomem Module parameter could be either (runtime set)
        irq             Module parameter configures an I/O port
        dma             Module parameter configures a DMA channel
        dma_addr        Module parameter configures a DMA buffer address
        other           Module parameter configures some other value

  Note that the hwtype is compile checked, but not currently stored (the
  lockdown code probably won't require it). It is, however, there for
  future use.

  A bonus is that the hwtype can also be used for grepping.

  The intention is for the kernel to ignore or reject attempts to set
  annotated module parameters if lockdown is enabled. This applies to
  options passed on the boot command line, passed to insmod/modprobe or
  direct twiddling in /sys/module/ parameter files.

  The module initialisation then needs to handle the parameter not being
  set, by (1) giving an error, (2) probing for a value or (3) using a
  reasonable default.

  What I can't do is just reject a module out of hand because it may
  take a hardware setting in the module parameters. Some important
  modules, some ipmi stuff for instance, both probe for hardware and
  allow hardware to be manually specified; if the driver is aborts with
  any error, you don't get any ipmi hardware.

  Further, trying to do this entirely in the module initialisation code
  doesn't protect against sysfs twiddling.

  [!] Note that in and of itself, this series of patches should have no
      effect on the the size of the kernel or code execution - that is
      left to a patch in the next series to effect. It does mark
      annotated kernel parameters with a KERNEL_PARAM_FL_HWPARAM flag in
      an already existing field"

* tag 'hwparam-20170420' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: (38 commits)
  Annotate hardware config module parameters in sound/pci/
  Annotate hardware config module parameters in sound/oss/
  Annotate hardware config module parameters in sound/isa/
  Annotate hardware config module parameters in sound/drivers/
  Annotate hardware config module parameters in fs/pstore/
  Annotate hardware config module parameters in drivers/watchdog/
  Annotate hardware config module parameters in drivers/video/
  Annotate hardware config module parameters in drivers/tty/
  Annotate hardware config module parameters in drivers/staging/vme/
  Annotate hardware config module parameters in drivers/staging/speakup/
  Annotate hardware config module parameters in drivers/staging/media/
  Annotate hardware config module parameters in drivers/scsi/
  Annotate hardware config module parameters in drivers/pcmcia/
  Annotate hardware config module parameters in drivers/pci/hotplug/
  Annotate hardware config module parameters in drivers/parport/
  Annotate hardware config module parameters in drivers/net/wireless/
  Annotate hardware config module parameters in drivers/net/wan/
  Annotate hardware config module parameters in drivers/net/irda/
  Annotate hardware config module parameters in drivers/net/hamradio/
  Annotate hardware config module parameters in drivers/net/ethernet/
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull hw lockdown support from David Howells:
 "Annotation of module parameters that configure hardware resources
  including ioports, iomem addresses, irq lines and dma channels.

  This allows a future patch to prohibit the use of such module
  parameters to prevent that hardware from being abused to gain access
  to the running kernel image as part of locking the kernel down under
  UEFI secure boot conditions.

  Annotations are made by changing:

        module_param(n, t, p)
        module_param_named(n, v, t, p)
        module_param_array(n, t, m, p)

  to:

        module_param_hw(n, t, hwtype, p)
        module_param_hw_named(n, v, t, hwtype, p)
        module_param_hw_array(n, t, hwtype, m, p)

  where the module parameter refers to a hardware setting

  hwtype specifies the type of the resource being configured. This can
  be one of:

        ioport          Module parameter configures an I/O port
        iomem           Module parameter configures an I/O mem address
        ioport_or_iomem Module parameter could be either (runtime set)
        irq             Module parameter configures an I/O port
        dma             Module parameter configures a DMA channel
        dma_addr        Module parameter configures a DMA buffer address
        other           Module parameter configures some other value

  Note that the hwtype is compile checked, but not currently stored (the
  lockdown code probably won't require it). It is, however, there for
  future use.

  A bonus is that the hwtype can also be used for grepping.

  The intention is for the kernel to ignore or reject attempts to set
  annotated module parameters if lockdown is enabled. This applies to
  options passed on the boot command line, passed to insmod/modprobe or
  direct twiddling in /sys/module/ parameter files.

  The module initialisation then needs to handle the parameter not being
  set, by (1) giving an error, (2) probing for a value or (3) using a
  reasonable default.

  What I can't do is just reject a module out of hand because it may
  take a hardware setting in the module parameters. Some important
  modules, some ipmi stuff for instance, both probe for hardware and
  allow hardware to be manually specified; if the driver is aborts with
  any error, you don't get any ipmi hardware.

  Further, trying to do this entirely in the module initialisation code
  doesn't protect against sysfs twiddling.

  [!] Note that in and of itself, this series of patches should have no
      effect on the the size of the kernel or code execution - that is
      left to a patch in the next series to effect. It does mark
      annotated kernel parameters with a KERNEL_PARAM_FL_HWPARAM flag in
      an already existing field"

* tag 'hwparam-20170420' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: (38 commits)
  Annotate hardware config module parameters in sound/pci/
  Annotate hardware config module parameters in sound/oss/
  Annotate hardware config module parameters in sound/isa/
  Annotate hardware config module parameters in sound/drivers/
  Annotate hardware config module parameters in fs/pstore/
  Annotate hardware config module parameters in drivers/watchdog/
  Annotate hardware config module parameters in drivers/video/
  Annotate hardware config module parameters in drivers/tty/
  Annotate hardware config module parameters in drivers/staging/vme/
  Annotate hardware config module parameters in drivers/staging/speakup/
  Annotate hardware config module parameters in drivers/staging/media/
  Annotate hardware config module parameters in drivers/scsi/
  Annotate hardware config module parameters in drivers/pcmcia/
  Annotate hardware config module parameters in drivers/pci/hotplug/
  Annotate hardware config module parameters in drivers/parport/
  Annotate hardware config module parameters in drivers/net/wireless/
  Annotate hardware config module parameters in drivers/net/wan/
  Annotate hardware config module parameters in drivers/net/irda/
  Annotate hardware config module parameters in drivers/net/hamradio/
  Annotate hardware config module parameters in drivers/net/ethernet/
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>mac80211: properly remove RX_ENC_FLAG_40MHZ</title>
<updated>2017-05-08T09:11:56+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2017-05-05T09:53:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2f242bf45370b8ea44f209b22c3c90984655a102'/>
<id>2f242bf45370b8ea44f209b22c3c90984655a102</id>
<content type='text'>
Somehow I missed this in my RX rate cleanup series, causing some
drivers to not report correct bandwidth since this flag isn't
used by mac80211 anymore. Fix this, and make hwsim also report
higher bandwidths appropriately.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Somehow I missed this in my RX rate cleanup series, causing some
drivers to not report correct bandwidth since this flag isn't
used by mac80211 anymore. Fix this, and make hwsim also report
higher bandwidths appropriately.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial</title>
<updated>2017-05-03T02:09:35+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2017-05-03T02:09:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=89c9fea3c8034cdb2fd745f551cde0b507fd6893'/>
<id>89c9fea3c8034cdb2fd745f551cde0b507fd6893</id>
<content type='text'>
Pull trivial tree updates from Jiri Kosina.

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
  tty: fix comment for __tty_alloc_driver()
  init/main: properly align the multi-line comment
  init/main: Fix double "the" in comment
  Fix dead URLs to ftp.kernel.org
  drivers: Clean up duplicated email address
  treewide: Fix typo in xml/driver-api/basics.xml
  tools/testing/selftests/powerpc: remove redundant CFLAGS in Makefile: "-Wall -O2 -Wall" -&gt; "-O2 -Wall"
  selftests/timers: Spelling s/privledges/privileges/
  HID: picoLCD: Spelling s/REPORT_WRTIE_MEMORY/REPORT_WRITE_MEMORY/
  net: phy: dp83848: Fix Typo
  UBI: Fix typos
  Documentation: ftrace.txt: Correct nice value of 120 priority
  net: fec: Fix typo in error msg and comment
  treewide: Fix typos in printk
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull trivial tree updates from Jiri Kosina.

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial:
  tty: fix comment for __tty_alloc_driver()
  init/main: properly align the multi-line comment
  init/main: Fix double "the" in comment
  Fix dead URLs to ftp.kernel.org
  drivers: Clean up duplicated email address
  treewide: Fix typo in xml/driver-api/basics.xml
  tools/testing/selftests/powerpc: remove redundant CFLAGS in Makefile: "-Wall -O2 -Wall" -&gt; "-O2 -Wall"
  selftests/timers: Spelling s/privledges/privileges/
  HID: picoLCD: Spelling s/REPORT_WRTIE_MEMORY/REPORT_WRITE_MEMORY/
  net: phy: dp83848: Fix Typo
  UBI: Fix typos
  Documentation: ftrace.txt: Correct nice value of 120 priority
  net: fec: Fix typo in error msg and comment
  treewide: Fix typos in printk
</pre>
</div>
</content>
</entry>
<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: rename ieee80211_rx_status::vht_nss to just nss</title>
<updated>2017-04-28T08:41:53+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2017-04-26T11:51:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=8613c94815fcdd358638a22fed50c3f172042aa2'/>
<id>8613c94815fcdd358638a22fed50c3f172042aa2</id>
<content type='text'>
This field will need to be used again for HE, so rename it now.

Again, mostly done with this spatch:

@@
expression status;
@@
-status-&gt;vht_nss
+status-&gt;nss
@@
expression status;
@@
-status.vht_nss
+status.nss

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 field will need to be used again for HE, so rename it now.

Again, mostly done with this spatch:

@@
expression status;
@@
-status-&gt;vht_nss
+status-&gt;nss
@@
expression status;
@@
-status.vht_nss
+status.nss

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>
</feed>
