<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/net/wireless, branch v4.9.147</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.9.147</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.9.147'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2018-12-21T13:11:35Z</updated>
<entry>
<title>mac80211_hwsim: fix module init error paths for netlink</title>
<updated>2018-12-21T13:11:35Z</updated>
<author>
<name>Alexey Khoroshilov</name>
<email>khoroshilov@ispras.ru</email>
</author>
<published>2018-10-05T20:22:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3e5d4c14a7427dc2a24737c8dcc61688870d737a'/>
<id>urn:sha1:3e5d4c14a7427dc2a24737c8dcc61688870d737a</id>
<content type='text'>
[ Upstream commit 05cc09de4c017663a217630682041066f2f9a5cd ]

There is no unregister netlink notifier and family on error paths
in init_mac80211_hwsim(). Also there is an error path where
hwsim_class is not destroyed.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov &lt;khoroshilov@ispras.ru&gt;
Fixes: 62759361eb49 ("mac80211-hwsim: Provide multicast event for HWSIM_CMD_NEW_RADIO")
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mac80211_hwsim: Timer should be initialized before device registered</title>
<updated>2018-12-13T08:20:30Z</updated>
<author>
<name>Vasyl Vavrychuk</name>
<email>vasyl.vavrychuk@globallogic.com</email>
</author>
<published>2018-10-17T22:02:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3a492ce1b6d540e1bd218db681f10a1ea46254ff'/>
<id>urn:sha1:3a492ce1b6d540e1bd218db681f10a1ea46254ff</id>
<content type='text'>
commit a1881c9b8a1edef0a5ae1d5c1b61406fe3402114 upstream.

Otherwise if network manager starts configuring Wi-Fi interface
immidiatelly after getting notification of its creation, we will get
NULL pointer dereference:

  BUG: unable to handle kernel NULL pointer dereference at           (null)
  IP: [&lt;ffffffff95ae94c8&gt;] hrtimer_active+0x28/0x50
  ...
  Call Trace:
   [&lt;ffffffff95ae9997&gt;] ? hrtimer_try_to_cancel+0x27/0x110
   [&lt;ffffffff95ae9a95&gt;] ? hrtimer_cancel+0x15/0x20
   [&lt;ffffffffc0803bf0&gt;] ? mac80211_hwsim_config+0x140/0x1c0 [mac80211_hwsim]

Cc: stable@vger.kernel.org
Signed-off-by: Vasyl Vavrychuk &lt;vasyl.vavrychuk@globallogic.com&gt;
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>brcmutil: really fix decoding channel info for 160 MHz bandwidth</title>
<updated>2018-12-13T08:20:25Z</updated>
<author>
<name>Rafał Miłecki</name>
<email>rafal@milecki.pl</email>
</author>
<published>2018-10-26T10:50:39Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=04e7ceeea56e208618d26db67038690a78510272'/>
<id>urn:sha1:04e7ceeea56e208618d26db67038690a78510272</id>
<content type='text'>
[ Upstream commit 3401d42c7ea2d064d15c66698ff8eb96553179ce ]

Previous commit /adding/ support for 160 MHz chanspecs was incomplete.
It didn't set bandwidth info and didn't extract control channel info. As
the result it was also using uninitialized "sb" var.

This change has been tested for two chanspecs found to be reported by
some devices/firmwares:
1) 60/160 (0xee32)
   Before: chnum:50 control_ch_num:36
    After: chnum:50 control_ch_num:60
2) 120/160 (0xed72)
   Before: chnum:114 control_ch_num:100
    After: chnum:114 control_ch_num:120

Fixes: 330994e8e8ec ("brcmfmac: fix for proper support of 160MHz bandwidth")
Signed-off-by: Rafał Miłecki &lt;rafal@milecki.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>wil6210: missing length check in wmi_set_ie</title>
<updated>2018-12-08T12:05:10Z</updated>
<author>
<name>Lior David</name>
<email>qca_liord@qca.qualcomm.com</email>
</author>
<published>2017-11-14T13:25:39Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=35db4d1ed8a344899a87887fa7bf11be5b057bec'/>
<id>urn:sha1:35db4d1ed8a344899a87887fa7bf11be5b057bec</id>
<content type='text'>
commit b5a8ffcae4103a9d823ea3aa3a761f65779fbe2a upstream.

Add a length check in wmi_set_ie to detect unsigned integer
overflow.

Signed-off-by: Lior David &lt;qca_liord@qca.qualcomm.com&gt;
Signed-off-by: Maya Erez &lt;qca_merez@qca.qualcomm.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@qca.qualcomm.com&gt;
Signed-off-by: Ben Hutchings &lt;ben.hutchings@codethink.co.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Revert "wlcore: Add missing PM call for wlcore_cmd_wait_for_event_or_timeout()"</title>
<updated>2018-12-05T18:42:38Z</updated>
<author>
<name>Sasha Levin</name>
<email>sashal@kernel.org</email>
</author>
<published>2018-12-02T15:03:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ad0ee4f58533dec7c49269864055f30d4dd2bdd7'/>
<id>urn:sha1:ad0ee4f58533dec7c49269864055f30d4dd2bdd7</id>
<content type='text'>
This reverts commit afeeecc764436f31d4447575bb9007732333818c which was
upstream commit 4ec7cece87b3ed21ffcd407c62fb2f151a366bc1.

From Dietmar May's report on the stable mailing list
(https://www.spinics.net/lists/stable/msg272201.html):

&gt; I've run into some problems which appear due to (a) recent patch(es) on
&gt; the wlcore wifi driver.
&gt;
&gt; 4.4.160 - commit 3fdd34643ffc378b5924941fad40352c04610294
&gt; 4.9.131 - commit afeeecc764436f31d4447575bb9007732333818c
&gt;
&gt; Earlier versions (4.9.130 and 4.4.159 - tested back to 4.4.49) do not
&gt; exhibit this problem. It is still present in 4.9.141.
&gt;
&gt; master as of 4.20.0-rc4 does not exhibit this problem.
&gt;
&gt; Basically, during client association when in AP mode (running hostapd),
&gt; handshake may or may not complete following a noticeable delay. If
&gt; successful, then the driver fails consistently in warn_slowpath_null
&gt; during disassociation. If unsuccessful, the wifi client attempts multiple
&gt; times, sometimes failing repeatedly. I've had clients unable to connect
&gt; for 3-5 minutes during testing, with the syslog filled with dozens of
&gt; backtraces. syslog details are below.
&gt;
&gt; I'm working on an embedded device with a TI 3352 ARM processor and a
&gt; murata wl1271 module in sdio mode. We're running a fully patched ubuntu
&gt; 18.04 ARM build, with a kernel built from kernel.org's stable/linux repo &lt;https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-4.9.y&amp;id=afeeecc764436f31d4447575bb9007732333818c&gt;.
&gt; Relevant parts of the kernel config are included below.
&gt;
&gt; The commit message states:
&gt;
&gt; &gt; /I've only seen this few times with the runtime PM patches enabled so
&gt; &gt; this one is probably not needed before that. This seems to work
&gt; &gt; currently based on the current PM implementation timer. Let's apply
&gt; &gt; this separately though in case others are hitting this issue./
&gt; We're not doing anything explicit with power management. The device is an
&gt; IoT edge gateway with battery backup, normally running on wall power. The
&gt; battery is currently used solely to shut down the system cleanly to avoid
&gt; filesystem corruption.
&gt;
&gt; The device tree is configured to keep power in suspend; but the device
&gt; should never suspend, so in our case, there is no need to call
&gt; wl1271_ps_elp_wakeup() or wl1271_ps_elp_sleep(), as occurs in the patch.

Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>mwifiex: fix p2p device doesn't find in scan problem</title>
<updated>2018-12-01T08:44:24Z</updated>
<author>
<name>Karthik D A</name>
<email>karthida@marvell.com</email>
</author>
<published>2016-09-28T12:48:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6bea268e0c3c6807db4c67f37a883aeabebef12a'/>
<id>urn:sha1:6bea268e0c3c6807db4c67f37a883aeabebef12a</id>
<content type='text'>
commit 3d8bd85c2c9e47ed2c82348aa5b6029ed48376ae upstream.

Marvell p2p device disappears from the list of p2p peers on the other
p2p device after disconnection.

It happens due to a bug in driver. When interface is changed from p2p
to station, certain variables(bss_type, bss_role etc.) aren't correctly
updated. This patch corrects them to fix the issue.

Signed-off-by: Karthik D A &lt;karthida@marvell.com&gt;
Signed-off-by: Amitkumar Karwar &lt;akarwar@marvell.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Amit Pundir &lt;amit.pundir@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mwifiex: Fix NULL pointer dereference in skb_dequeue()</title>
<updated>2018-12-01T08:44:24Z</updated>
<author>
<name>Amitkumar Karwar</name>
<email>akarwar@marvell.com</email>
</author>
<published>2016-09-28T12:48:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c8144277c0ad48c5633e91f979874632a0032084'/>
<id>urn:sha1:c8144277c0ad48c5633e91f979874632a0032084</id>
<content type='text'>
commit c44c040300d7afd79294710313a4989683e2afb1 upstream.

At couple of places in cleanup path, we are just going through the
skb queue and freeing them without unlinking. This leads to a crash
when other thread tries to do skb_dequeue() and use already freed node.

The problem is freed by unlinking skb before freeing it.

Signed-off-by: Amitkumar Karwar &lt;akarwar@marvell.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Amit Pundir &lt;amit.pundir@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mwifiex: report error to PCIe for suspend failure</title>
<updated>2018-12-01T08:44:24Z</updated>
<author>
<name>Amitkumar Karwar</name>
<email>akarwar@marvell.com</email>
</author>
<published>2016-09-28T12:48:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c34774ea1bc322560d401e55f5cc1438c2c3cf30'/>
<id>urn:sha1:c34774ea1bc322560d401e55f5cc1438c2c3cf30</id>
<content type='text'>
commit 5190f2e405919cd30ba2f12c58129fb2d71cd6b6 upstream.

When host_sleep_config command fails, we should return an error to
PCIe, instead of continuing (and possibly panicking, when we try to keep
processing a timed-out ioctl after we return "successfully" from
suspend).

Signed-off-by: Amitkumar Karwar &lt;akarwar@marvell.com&gt;
Reviewed-by: Brian Norris &lt;briannorris@chromium.org&gt;
Tested-by: Brian Norris &lt;briannorris@chromium.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Amit Pundir &lt;amit.pundir@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mwifiex: prevent register accesses after host is sleeping</title>
<updated>2018-12-01T08:44:24Z</updated>
<author>
<name>Amitkumar Karwar</name>
<email>akarwar@marvell.com</email>
</author>
<published>2016-09-28T12:48:21Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b4f8e4c870b73f3f48a2951584c739cc40ccf366'/>
<id>urn:sha1:b4f8e4c870b73f3f48a2951584c739cc40ccf366</id>
<content type='text'>
commit ec815dd2a5f110f627d7955e0027a3a008f68166 upstream.

Following is mwifiex driver-firmware host sleep handshake.
It involves three threads. suspend handler, interrupt handler, interrupt
processing in main work queue.

1) Enter suspend handler
2) Download HS_CFG command
3) Response from firmware for HS_CFG
4) Suspend thread waits until handshake completes(i.e hs_activate becomes
   true)
5) SLEEP from firmware
6) SLEEP confirm downloaded to firmware.
7) SLEEP confirm response from firmware
8) Driver processes SLEEP confirm response and set hs_activate to wake up
suspend thread
9) Exit suspend handler
10) Read sleep cookie in loop and wait until it indicates firmware is
sleep.
11) After processing SLEEP confirm response, we are at the end of interrupt
processing routine. Recheck if there are interrupts received while we were
processing them.

During suspend-resume stress test, it's been observed that we may end up
acessing PCIe hardware(in 10 and 11) when PCIe bus is closed which leads
to a kernel crash.

This patch solves the problem with below changes.
a) action 10 above can be done before 8
b) Skip 11 if hs_activated is true. SLEEP confirm response
is the last interrupt from firmware. No need to recheck for
pending interrupts.
c) Add flush_workqueue() in suspend handler.

Signed-off-by: Amitkumar Karwar &lt;akarwar@marvell.com&gt;
Reviewed-by: Brian Norris &lt;briannorris@chromium.org&gt;
Tested-by: Brian Norris &lt;briannorris@chromium.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Amit Pundir &lt;amit.pundir@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>cw1200: Don't leak memory if krealloc failes</title>
<updated>2018-12-01T08:44:24Z</updated>
<author>
<name>Johannes Thumshirn</name>
<email>jthumshirn@suse.de</email>
</author>
<published>2016-09-30T12:39:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2091b8cd4b4b702b7057e2eeb64e73ce3706cc58'/>
<id>urn:sha1:2091b8cd4b4b702b7057e2eeb64e73ce3706cc58</id>
<content type='text'>
commit 9afdd6128c39f42398041bb2e017d8df0dcebcd1 upstream.

The call to krealloc() in wsm_buf_reserve() directly assigns the newly
returned memory to buf-&gt;begin. This is all fine except when krealloc()
failes we loose the ability to free the old memory pointed to by
buf-&gt;begin. If we just create a temporary variable to assign memory to
and assign the memory to it we can mitigate the memory leak.

Signed-off-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Cc: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Signed-off-by: Amit Pundir &lt;amit.pundir@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
