<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/net/wireless, branch v4.19.39</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.19.39</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.19.39'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2019-04-27T07:36:38+00:00</updated>
<entry>
<title>rt2x00: do not increment sequence number while re-transmitting</title>
<updated>2019-04-27T07:36:38+00:00</updated>
<author>
<name>Vijayakumar Durai</name>
<email>vijayakumar.durai1@vivint.com</email>
</author>
<published>2019-03-27T10:03:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=852de0d53d1443404b00c6e7dc6f15adc68aec1d'/>
<id>urn:sha1:852de0d53d1443404b00c6e7dc6f15adc68aec1d</id>
<content type='text'>
commit 746ba11f170603bf1eaade817553a6c2e9135bbe upstream.

Currently rt2x00 devices retransmit the management frames with
incremented sequence number if hardware is assigning the sequence.

This is HW bug fixed already for non-QOS data frames, but it should
be fixed for management frames except beacon.

Without fix retransmitted frames have wrong SN:

 AlphaNet_e8:fb:36 Vivotek_52:31:51 Authentication, SN=1648, FN=0, Flags=........C Frame is not being retransmitted 1648 1
 AlphaNet_e8:fb:36 Vivotek_52:31:51 Authentication, SN=1649, FN=0, Flags=....R...C Frame is being retransmitted 1649 1
 AlphaNet_e8:fb:36 Vivotek_52:31:51 Authentication, SN=1650, FN=0, Flags=....R...C Frame is being retransmitted 1650 1

With the fix SN stays correctly the same:

 88:6a:e3:e8:f9:a2 8c:f5:a3:88:76:87 Authentication, SN=1450, FN=0, Flags=........C
 88:6a:e3:e8:f9:a2 8c:f5:a3:88:76:87 Authentication, SN=1450, FN=0, Flags=....R...C
 88:6a:e3:e8:f9:a2 8c:f5:a3:88:76:87 Authentication, SN=1450, FN=0, Flags=....R...C

Cc: stable@vger.kernel.org
Signed-off-by: Vijayakumar Durai &lt;vijayakumar.durai1@vivint.com&gt;
[sgruszka: simplify code, change comments and changelog]
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>rsi: improve kernel thread handling to fix kernel panic</title>
<updated>2019-04-20T07:16:00+00:00</updated>
<author>
<name>Siva Rebbagondla</name>
<email>siva.rebbagondla@redpinesignals.com</email>
</author>
<published>2018-08-27T11:35:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=de1fd69b6541ff61177114d63af7ea719c426cf0'/>
<id>urn:sha1:de1fd69b6541ff61177114d63af7ea719c426cf0</id>
<content type='text'>
[ Upstream commit 4c62764d0fc21a34ffc44eec1210038c3a2e4473 ]

While running regressions, observed below kernel panic when sdio disconnect
called. This is because of, kthread_stop() is taking care of
wait_for_completion() by default. When wait_for_completion triggered
in kthread_stop and as it was done already, giving kernel panic.
Hence, removing redundant wait_for_completion() from rsi_kill_thread().

... skipping ...
BUG: unable to handle kernel NULL pointer dereference at           (null)
IP: [&lt;ffffffff810a63df&gt;] exit_creds+0x1f/0x50
PGD 0
Oops: 0002 [#1] SMP
CPU: 0 PID: 6502 Comm: rmmod Tainted: G  OE   4.15.9-Generic #154-Ubuntu
Hardware name: Dell Inc. Edge Gateway 3003/ , BIOS 01.00.00 04/17/2017
Stack:
ffff88007392e600 ffff880075847dc0 ffffffff8108160a 0000000000000000
ffff88007392e600 ffff880075847de8 ffffffff810a484b ffff880076127000
ffff88003cd3a800 ffff880074f12a00 ffff880075847e28 ffffffffc09bed15
Call Trace:
[&lt;ffffffff8108160a&gt;] __put_task_struct+0x5a/0x140
[&lt;ffffffff810a484b&gt;] kthread_stop+0x10b/0x110
[&lt;ffffffffc09bed15&gt;] rsi_disconnect+0x2f5/0x300 [ven_rsi_sdio]
[&lt;ffffffff81578bcb&gt;] ? __pm_runtime_resume+0x5b/0x80
[&lt;ffffffff816f0918&gt;] sdio_bus_remove+0x38/0x100
[&lt;ffffffff8156cc64&gt;] __device_release_driver+0xa4/0x150
[&lt;ffffffff8156d7a5&gt;] driver_detach+0xb5/0xc0
[&lt;ffffffff8156c6c5&gt;] bus_remove_driver+0x55/0xd0
[&lt;ffffffff8156dfbc&gt;] driver_unregister+0x2c/0x50
[&lt;ffffffff816f0b8a&gt;] sdio_unregister_driver+0x1a/0x20
[&lt;ffffffffc09bf0f5&gt;] rsi_module_exit+0x15/0x30 [ven_rsi_sdio]
[&lt;ffffffff8110cad8&gt;] SyS_delete_module+0x1b8/0x210
[&lt;ffffffff81851dc8&gt;] entry_SYSCALL_64_fastpath+0x1c/0xbb

Signed-off-by: Siva Rebbagondla &lt;siva.rebbagondla@redpinesignals.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>wlcore: Fix memory leak in case wl12xx_fetch_firmware failure</title>
<updated>2019-04-05T20:33:16+00:00</updated>
<author>
<name>Zumeng Chen</name>
<email>zumeng.chen@gmail.com</email>
</author>
<published>2018-12-19T07:50:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=52cd9e0e43c7bda1621a2ce66765a4a369967caf'/>
<id>urn:sha1:52cd9e0e43c7bda1621a2ce66765a4a369967caf</id>
<content type='text'>
[ Upstream commit ba2ffc96321c8433606ceeb85c9e722b8113e5a7 ]

Release fw_status, raw_fw_status, and tx_res_if when wl12xx_fetch_firmware
failed instead of meaningless goto out to avoid the following memory leak
reports(Only the last one listed):

unreferenced object 0xc28a9a00 (size 512):
  comm "kworker/0:4", pid 31298, jiffies 2783204 (age 203.290s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
  backtrace:
    [&lt;6624adab&gt;] kmemleak_alloc+0x40/0x74
    [&lt;500ddb31&gt;] kmem_cache_alloc_trace+0x1ac/0x270
    [&lt;db4d731d&gt;] wl12xx_chip_wakeup+0xc4/0x1fc [wlcore]
    [&lt;76c5db53&gt;] wl1271_op_add_interface+0x4a4/0x8f4 [wlcore]
    [&lt;cbf30777&gt;] drv_add_interface+0xa4/0x1a0 [mac80211]
    [&lt;65bac325&gt;] ieee80211_reconfig+0x9c0/0x1644 [mac80211]
    [&lt;2817c80e&gt;] ieee80211_restart_work+0x90/0xc8 [mac80211]
    [&lt;7e1d425a&gt;] process_one_work+0x284/0x42c
    [&lt;55f9432e&gt;] worker_thread+0x2fc/0x48c
    [&lt;abb582c6&gt;] kthread+0x148/0x160
    [&lt;63144b13&gt;] ret_from_fork+0x14/0x2c
    [&lt; (null)&gt;] (null)
    [&lt;1f6e7715&gt;] 0xffffffff

Signed-off-by: Zumeng Chen &lt;zumeng.chen@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>brcmfmac: Use firmware_request_nowarn for the clm_blob</title>
<updated>2019-04-05T20:33:16+00:00</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2019-01-07T13:33:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=05b23c66bb6e96720b3d6b0e9ebb2ee693e8d9f5'/>
<id>urn:sha1:05b23c66bb6e96720b3d6b0e9ebb2ee693e8d9f5</id>
<content type='text'>
[ Upstream commit 4ad0be160544ffbdafb7cec39bb8e6dd0a97317a ]

The linux-firmware brcmfmac firmware files contain an embedded table with
per country allowed channels and strength info.

For recent hardware these versions of the firmware are specially build for
linux-firmware, the firmware files directly available from Cypress rely on
a separate clm_blob file for this info.

For some unknown reason Cypress refuses to provide the standard firmware
files + clm_blob files it uses elsewhere for inclusion into linux-firmware,
instead relying on these special builds with the clm_blob info embedded.
This means that the linux-firmware firmware versions often lag behind,
but I digress.

The brcmfmac driver does support the separate clm_blob file and always
tries to load this. Currently we use request_firmware for this. This means
that on any standard install, using the standard combo of linux-kernel +
linux-firmware, we will get a warning:
"Direct firmware load for ... failed with error -2"

On top of this, brcmfmac itself prints: "no clm_blob available (err=-2),
device may have limited channels available".

This commit switches to firmware_request_nowarn, fixing almost any brcmfmac
device logging the warning (it leaves the brcmfmac info message in place).

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mt7601u: bump supported EEPROM version</title>
<updated>2019-04-05T20:33:12+00:00</updated>
<author>
<name>Stanislaw Gruszka</name>
<email>sgruszka@redhat.com</email>
</author>
<published>2019-01-22T12:47:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=668713493a19886c8e8c4db731694aacdf1cd287'/>
<id>urn:sha1:668713493a19886c8e8c4db731694aacdf1cd287</id>
<content type='text'>
[ Upstream commit 3bd1505fed71d834f45e87b32ff07157fdda47e0 ]

As reported by Michael eeprom 0d is supported and work with the driver.

Dump of /sys/kernel/debug/ieee80211/phy1/mt7601u/eeprom_param
with 0d EEPORM looks like this:

RSSI offset: 0 0
Reference temp: f9
LNA gain: 8
Reg channels: 1-14
Per rate power:
	 raw:05 bw20:05 bw40:05
	 raw:05 bw20:05 bw40:05
	 raw:03 bw20:03 bw40:03
	 raw:03 bw20:03 bw40:03
	 raw:04 bw20:04 bw40:04
	 raw:00 bw20:00 bw40:00
	 raw:00 bw20:00 bw40:00
	 raw:00 bw20:00 bw40:00
	 raw:02 bw20:02 bw40:02
	 raw:00 bw20:00 bw40:00
Per channel power:
	 tx_power  ch1:09 ch2:09
	 tx_power  ch3:0a ch4:0a
	 tx_power  ch5:0a ch6:0a
	 tx_power  ch7:0b ch8:0b
	 tx_power  ch9:0b ch10:0b
	 tx_power  ch11:0b ch12:0b
	 tx_power  ch13:0b ch14:0b

Reported-and-tested-by: Michael &lt;ZeroBeat@gmx.de&gt;
Signed-off-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
Acked-by: Jakub Kicinski &lt;kubakici@wp.pl&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>iwlwifi: mvm: fix RFH config command with &gt;=10 CPUs</title>
<updated>2019-04-05T20:33:11+00:00</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2018-12-11T20:20:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b4410c7d731db051926bb83e8d62fc0b02241c3d'/>
<id>urn:sha1:b4410c7d731db051926bb83e8d62fc0b02241c3d</id>
<content type='text'>
[ Upstream commit dbf592f3d14fb7d532cb7c820b1065cf33e02aaa ]

If we have &gt;=10 (logical) CPUs, our command size exceeds the
internal buffer size and the command fails; fix that by using
IWL_HCMD_DFL_NOCOPY for the command that's allocated anyway.

While at it, also fix the leak of cmd, and use struct_size()
to calculate its size.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Fixes: 8edbfaa19835 ("iwlwifi: mvm: configure multi RX queue")
Signed-off-by: Luca Coelho &lt;luciano.coelho@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>ath10k: fix shadow register implementation for WCN3990</title>
<updated>2019-04-05T20:33:08+00:00</updated>
<author>
<name>Rakesh Pillai</name>
<email>pillair@codeaurora.org</email>
</author>
<published>2019-02-08T13:50:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=126f2f6af291ac4695ba952fcfcaf646f73173dc'/>
<id>urn:sha1:126f2f6af291ac4695ba952fcfcaf646f73173dc</id>
<content type='text'>
[ Upstream commit 1863008369ae0407508033b4b00f98b985adeb15 ]

WCN3990 supports shadow registers write operation support
for copy engine for regular operation in powersave mode.

Since WCN3990 is a 64-bit target, the shadow register
implementation needs to be done in the copy engine handlers
for 64-bit target. Currently the shadow register implementation
is present in the 32-bit target handlers of copy engine.

Fix the shadow register copy engine write operation
implementation for 64-bit target(WCN3990).

Tested HW: WCN3990
Tested FW: WLAN.HL.2.0-01188-QCAHLSWMTPLZ-1

Fixes: b7ba83f7c414 ("ath10k: add support for shadow register for WNC3990")
Signed-off-by: Rakesh Pillai &lt;pillair@codeaurora.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>iwlwifi: pcie: fix emergency path</title>
<updated>2019-04-05T20:33:07+00:00</updated>
<author>
<name>Sara Sharon</name>
<email>sara.sharon@intel.com</email>
</author>
<published>2018-12-13T12:47:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d63105845ac5566b44778d1a7d7cf915be4635b1'/>
<id>urn:sha1:d63105845ac5566b44778d1a7d7cf915be4635b1</id>
<content type='text'>
[ Upstream commit c6ac9f9fb98851f47b978a9476594fc3c477a34d ]

Allocator swaps the pending requests with 0 when it starts
working. This means that relying on it n RX path to decide if
to move to emergency is not always a good idea, since it may
be zero, but there are still a lot of unallocated RBs in the
system. Change allocator to decrement the pending requests on
real time. It is more expensive since it accesses the atomic
variable more times, but it gives the RX path a better idea
of the system's status.

Reported-by: Ilan Peer &lt;ilan.peer@intel.com&gt;
Signed-off-by: Sara Sharon &lt;sara.sharon@intel.com&gt;
Fixes: 868a1e863f95 ("iwlwifi: pcie: avoid empty free RB queue")
Signed-off-by: Luca Coelho &lt;luciano.coelho@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mt76: usb: do not run mt76u_queues_deinit twice</title>
<updated>2019-04-05T20:33:06+00:00</updated>
<author>
<name>Lorenzo Bianconi</name>
<email>lorenzo.bianconi@redhat.com</email>
</author>
<published>2019-02-10T21:49:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e9cd7f5437640d4af2800c9db8283ec487332c43'/>
<id>urn:sha1:e9cd7f5437640d4af2800c9db8283ec487332c43</id>
<content type='text'>
[ Upstream commit b3098121c42caaf3aea239b8655cf52d45be116f ]

Do not call mt76u_queues_deinit routine in mt76u_alloc_queues error path
since it will be run in mt76x0u_register_device or
mt76x2u_register_device error path. Current implementation triggers the
following kernel warning:

[   67.005516] WARNING: CPU: 2 PID: 761 at lib/refcount.c:187 refcount_sub_and_test_checked+0xa4/0xb8
[   67.019513] refcount_t: underflow; use-after-free.
[   67.099872] Hardware name: BCM2835
[   67.106268] Backtrace:
[   67.111584] [&lt;8010c91c&gt;] (dump_backtrace) from [&lt;8010cc00&gt;] (show_stack+0x20/0x24)
[   67.124974]  r6:60000013 r5:ffffffff r4:00000000 r3:a50bade6
[   67.132226] [&lt;8010cbe0&gt;] (show_stack) from [&lt;807ca5f4&gt;] (dump_stack+0xc8/0x114)
[   67.141225] [&lt;807ca52c&gt;] (dump_stack) from [&lt;8011e65c&gt;] (__warn+0xf4/0x120)
[   67.149849]  r9:000000bb r8:804d0138 r7:00000009 r6:8099dc84 r5:00000000 r4:b66c7b58
[   67.160767] [&lt;8011e568&gt;] (__warn) from [&lt;8011e6d0&gt;] (warn_slowpath_fmt+0x48/0x50)
[   67.171436]  r9:7f65e128 r8:80d1419c r7:80c0bac4 r6:b97b3044 r5:b7368e00 r4:00000000
[   67.182433] [&lt;8011e68c&gt;] (warn_slowpath_fmt) from [&lt;804d0138&gt;] (refcount_sub_and_test_checked+0xa4/0xb8)
[   67.195221]  r3:80c91c25 r2:8099dc94
[   67.200370]  r4:00000000
[   67.204397] [&lt;804d0094&gt;] (refcount_sub_and_test_checked) from [&lt;804d0164&gt;] (refcount_dec_and_test_checked+0x18/0x1c)
[   67.218046]  r4:b7368e00 r3:00000001
[   67.223125] [&lt;804d014c&gt;] (refcount_dec_and_test_checked) from [&lt;805db49c&gt;] (usb_free_urb+0x20/0x4c)
[   67.235358] [&lt;805db47c&gt;] (usb_free_urb) from [&lt;7f639804&gt;] (mt76u_buf_free+0x98/0xac [mt76_usb])
[   67.247302]  r4:00000001 r3:00000001
[   67.252468] [&lt;7f63976c&gt;] (mt76u_buf_free [mt76_usb]) from [&lt;7f639ef8&gt;] (mt76u_queues_deinit+0x44/0x100 [mt76_usb])
[   67.266102]  r8:b8fe8600 r7:b5dac480 r6:b5dace20 r5:00000001 r4:00000000 r3:00000080
[   67.277132] [&lt;7f639eb4&gt;] (mt76u_queues_deinit [mt76_usb]) from [&lt;7f65c040&gt;] (mt76x0u_cleanup+0x40/0x4c [mt76x0u])
[   67.290737]  r7:b5dac480 r6:b8fe8600 r5:ffffffea r4:b5dace20
[   67.298069] [&lt;7f65c000&gt;] (mt76x0u_cleanup [mt76x0u]) from [&lt;7f65c564&gt;] (mt76x0u_probe+0x1f0/0x354 [mt76x0u])
[   67.311174]  r4:b5dace20 r3:00000000
[   67.316312] [&lt;7f65c374&gt;] (mt76x0u_probe [mt76x0u]) from [&lt;805e0b6c&gt;] (usb_probe_interface+0x104/0x240)
[   67.328915]  r7:00000000 r6:7f65e034 r5:b6634800 r4:b8fe8620
[   67.336276] [&lt;805e0a68&gt;] (usb_probe_interface) from [&lt;8056a8bc&gt;] (really_probe+0x224/0x2f8)
[   67.347965]  r10:b65f0a00 r9:00000019 r8:7f65e034 r7:80d3e124 r6:00000000 r5:80d3e120
[   67.359175]  r4:b8fe8620 r3:805e0a68
[   67.364384] [&lt;8056a698&gt;] (really_probe) from [&lt;8056ab60&gt;] (driver_probe_device+0x6c/0x180)
[   67.375974]  r10:b65f0a00 r9:7f65e2c0 r8:b8fe8620 r7:00000000 r6:7f65e034 r5:7f65e034
[   67.387170]  r4:b8fe8620 r3:00000000
[   67.392378] [&lt;8056aaf4&gt;] (driver_probe_device) from [&lt;8056ad54&gt;] (__driver_attach+0xe0/0xe4)
[   67.404097]  r9:7f65e2c0 r8:7f65d22c r7:00000000 r6:b8fe8654 r5:7f65e034 r4:b8fe8620
[   67.415122] [&lt;8056ac74&gt;] (__driver_attach) from [&lt;8056880c&gt;] (bus_for_each_dev+0x68/0xa0)
[   67.426628]  r6:8056ac74 r5:7f65e034 r4:00000000 r3:00000027
[   67.434017] [&lt;805687a4&gt;] (bus_for_each_dev) from [&lt;8056a1cc&gt;] (driver_attach+0x28/0x30)
[   67.445394]  r6:80c6ddc8 r5:b7368f80 r4:7f65e034
[   67.451703] [&lt;8056a1a4&gt;] (driver_attach) from [&lt;80569c24&gt;] (bus_add_driver+0x194/0x21c)
[   67.463081] [&lt;80569a90&gt;] (bus_add_driver) from [&lt;8056b504&gt;] (driver_register+0x8c/0x124)
[   67.474560]  r7:80c6ddc8 r6:7f65e034 r5:00000000 r4:7f65e034
[   67.481964] [&lt;8056b478&gt;] (driver_register) from [&lt;805df510&gt;] (usb_register_driver+0x74/0x140)
[   67.493901]  r5:00000000 r4:7f65e000
[   67.499131] [&lt;805df49c&gt;] (usb_register_driver) from [&lt;7f661024&gt;] (mt76x0_driver_init+0x24/0x1000 [mt76x0u])
[   67.512258]  r9:00000001 r8:7f65e308 r7:00000000 r6:80c08d48 r5:7f661000 r4:7f65e2c0
[   67.523404] [&lt;7f661000&gt;] (mt76x0_driver_init [mt76x0u]) from [&lt;80102f6c&gt;] (do_one_initcall+0x4c/0x210)
[   67.536142] [&lt;80102f20&gt;] (do_one_initcall) from [&lt;801ae63c&gt;] (do_init_module+0x6c/0x21c)
[   67.547639]  r8:7f65e308 r7:80c08d48 r6:b65f0ac0 r5:7f65e2c0 r4:7f65e2c0
[   67.556129] [&lt;801ae5d0&gt;] (do_init_module) from [&lt;801ad68c&gt;] (load_module+0x1d10/0x2304)

Fixes: b40b15e1521f ("mt76: add usb support to mt76 layer")
Signed-off-by: Lorenzo Bianconi &lt;lorenzo.bianconi@redhat.com&gt;
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mwifiex: don't advertise IBSS features without FW support</title>
<updated>2019-04-05T20:33:05+00:00</updated>
<author>
<name>Brian Norris</name>
<email>briannorris@chromium.org</email>
</author>
<published>2019-02-15T00:31:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=801b8d8c7729e11bfbd94a6782be800f8f5260e7'/>
<id>urn:sha1:801b8d8c7729e11bfbd94a6782be800f8f5260e7</id>
<content type='text'>
[ Upstream commit 6f21ab30469d670de620f758330aca9f3433f693 ]

As it is, doing something like

  # iw phy phy0 interface add foobar type ibss

on a firmware that doesn't have ad-hoc support just yields failures of
HostCmd_CMD_SET_BSS_MODE, which happened to return a '-1' error code
(-EPERM? not really right...) and sometimes may even crash the firmware
along the way.

Let's parse the firmware capability flag while registering the wiphy, so
we don't allow attempting IBSS at all, and we get a proper -EOPNOTSUPP
from nl80211 instead.

Fixes: e267e71e68ae ("mwifiex: Disable adhoc feature based on firmware capability")
Signed-off-by: Brian Norris &lt;briannorris@chromium.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
</feed>
