1
0
Fork 0
remarkable-linux/drivers/net
Sara Sharon c67fa16945 iwlwifi: fix access to prph when transport is stopped
[ Upstream commit 0232d2cd7a ]

When getting HW rfkill we get stop_device being called from
two paths.
One path is the IRQ calling stop device, and updating op
mode and stack.
As a result, cfg80211 is running rfkill sync work that shuts
down all devices (second path).
In the second path, we eventually get to iwl_mvm_stop_device
which calls iwl_fw_dump_conf_clear->iwl_fw_dbg_stop_recording,
that access periphery registers.
The device may be stopped at this point from the first path,
which will result with a failure to access those registers.
Simply checking for the trans status is insufficient, since
the race will still exist, only minimized.
Instead, move the stop from iwl_fw_dump_conf_clear (which is
getting called only from stop path) to the transport stop
device function, where the access is always safe.
This has the added value, of actually stopping dbgc before
stopping device even when the stop is initiated from the
transport.

Fixes: 1efc3843a4 ("iwlwifi: stop dbgc recording before stopping DMA")
Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-02-03 17:39:16 +01:00
..
appletalk License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
arcnet License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bonding bonding: fix slave stuck in BOND_LINK_FAIL state 2017-11-08 16:07:10 +09:00
caif License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
can can: peak: fix potential bug in packet fragmentation 2018-01-23 19:58:17 +01:00
cris License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dsa net: dsa: bcm_sf2: Clear IDDQ_GLOBAL_PWR bit for PHY 2018-01-02 20:31:10 +01:00
ethernet net: ethernet: xilinx: Mark XILINX_LL_TEMAC broken on 64-bit 2018-02-03 17:39:11 +01:00
fddi License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
fjes networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
hamradio License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hippi License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hyperv hv_netvsc: fix send buffer failure on MTU change 2017-09-21 15:17:16 -07:00
ieee802154 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ipvlan ipvlan: fix ipv6 outbound device 2017-12-17 15:08:00 +01:00
phy net: phy: marvell10g: fix the PHY id mask 2018-02-03 17:39:09 +01:00
plip
ppp ppp: unlock all_ppp_mutex before registering device 2018-01-31 14:03:46 +01:00
slip License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
team License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
usb lan78xx: Fix failure in USB Full Speed 2018-01-31 14:03:45 +01:00
vmxnet3 vmxnet3: repair memory leak 2018-01-31 14:03:49 +01:00
wan License cleanup: add SPDX license identifiers to some files 2017-11-02 10:04:46 -07:00
wimax License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
wireless iwlwifi: fix access to prph when transport is stopped 2018-02-03 17:39:16 +01:00
xen-netback xen-netfront, xen-netback: Use correct minimum MTU values 2017-10-16 16:00:44 -04:00
Kconfig x86/lguest: Remove lguest support 2017-08-24 09:57:28 +02:00
LICENSE.SRC
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Space.c
dummy.c dummy: Remove references to NETIF_F_UFO. 2017-07-17 09:52:57 -07:00
eql.c
geneve.c geneve: fix fill_info when link down 2017-12-14 09:53:11 +01:00
gtp.c gtp: Initialize 64-bit per-cpu stats correctly 2017-08-01 20:06:07 -07:00
ifb.c net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
loopback.c
macsec.c macsec: fix memory leaks when skb_to_sgvec fails 2017-10-11 14:07:20 -07:00
macvlan.c macvlan: Only deliver one copy of the frame to the macvlan interface 2017-12-20 10:10:36 +01:00
macvtap.c tap: reference to KVA of an unloaded module causes kernel panic 2017-10-28 19:17:21 +09:00
mdio.c
mii.c
netconsole.c netconsole: Remove duplicate "netconsole: " logging prefix 2017-06-13 12:57:40 -04:00
nlmon.c net: add netlink_ext_ack argument to rtnl_link_ops.validate 2017-06-26 23:13:22 -04:00
ntb_netdev.c ntb_netdev: set the net_device's parent 2017-07-06 11:30:08 -04:00
rionet.c net: convert sk_buff.users from atomic_t to refcount_t 2017-07-01 07:39:07 -07:00
sb1000.c
sungem_phy.c
tap.c net: accept UFO datagrams from tuntap and packet 2017-12-17 15:07:58 +01:00
tun.c tun: fix a memory leak for tfile->tx_array 2018-01-31 14:03:47 +01:00
veth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-06-30 12:43:08 -04:00
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-09-01 17:42:05 -07:00
vrf.c net: vrf: Add support for sends to local broadcast address 2018-01-31 14:03:45 +01:00
vsockmon.c
vxlan.c vxlan: restore dev->mtu setting based on lower device 2018-01-02 20:31:12 +01:00
xen-netfront.c xen-netfront: remove warning when unloading module 2018-02-03 17:39:07 +01:00