linux-uconsole/drivers/net/wireless
Miaoqing Pan de986efd26 ath10k: fix fw crash by moving chip reset after napi disabled
[ Upstream commit 08d80e4cd2 ]

On SMP platform, when continuously running wifi up/down, the napi
poll can be scheduled during chip reset, which will call
ath10k_pci_has_fw_crashed() to check the fw status. But in the reset
period, the value from FW_INDICATOR_ADDRESS register will return
0xdeadbeef, which also be treated as fw crash. Fix the issue by
moving chip reset after napi disabled.

ath10k_pci 0000:01:00.0: firmware crashed! (guid 73b30611-5b1e-4bdd-90b4-64c81eb947b6)
ath10k_pci 0000:01:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe
ath10k_pci 0000:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal otp max-sta 512 raw 0 hwcrypto 1
ath10k_pci 0000:01:00.0: failed to get memcpy hi address for firmware address 4: -16
ath10k_pci 0000:01:00.0: failed to read firmware dump area: -16
ath10k_pci 0000:01:00.0: Copy Engine register dump:
ath10k_pci 0000:01:00.0: [00]: 0x0004a000   0   0   0   0
ath10k_pci 0000:01:00.0: [01]: 0x0004a400   0   0   0   0
ath10k_pci 0000:01:00.0: [02]: 0x0004a800   0   0   0   0
ath10k_pci 0000:01:00.0: [03]: 0x0004ac00   0   0   0   0
ath10k_pci 0000:01:00.0: [04]: 0x0004b000   0   0   0   0
ath10k_pci 0000:01:00.0: [05]: 0x0004b400   0   0   0   0
ath10k_pci 0000:01:00.0: [06]: 0x0004b800   0   0   0   0
ath10k_pci 0000:01:00.0: [07]: 0x0004bc00   1   0   1   0
ath10k_pci 0000:01:00.0: [08]: 0x0004c000   0   0   0   0
ath10k_pci 0000:01:00.0: [09]: 0x0004c400   0   0   0   0
ath10k_pci 0000:01:00.0: [10]: 0x0004c800   0   0   0   0
ath10k_pci 0000:01:00.0: [11]: 0x0004cc00   0   0   0   0

Tested HW: QCA9984,QCA9887,WCN3990

Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-17 20:35:39 +01:00
..
admtek
ath ath10k: fix fw crash by moving chip reset after napi disabled 2019-12-17 20:35:39 +01:00
atmel at76c50x-usb: Don't register led_trigger if usb_register_driver failed 2019-05-31 06:46:05 -07:00
broadcom brcmfmac: Fix access point mode 2019-12-05 09:20:41 +01:00
cisco wireless: airo: potential buffer overflow in sprintf() 2019-12-01 09:17:23 +01:00
intel iwlwifi: fix cfg structs for 22000 with different RF modules 2019-12-13 08:51:39 +01:00
intersil p54usb: Fix race between disconnect and firmware loading 2019-07-14 08:11:19 +02:00
marvell mwifiex: update set_mac_address logic 2019-12-13 08:52:49 +01:00
mediatek mt76x0: phy: fix restore phase in mt76x0_phy_recalibrate_after_assoc 2019-12-01 09:16:19 +01:00
quantenna qtnfmac: drop error reports for out-of-bounds key indexes 2019-11-24 08:20:21 +01:00
ralink rt2x00: do not increment sequence number while re-transmitting 2019-04-27 09:36:38 +02:00
realtek rtlwifi: rtl8192de: Fix missing enable interrupt flag 2019-12-17 20:34:50 +01:00
rsi rsi: release skb if rsi_prepare_beacon fails 2019-12-13 08:50:57 +01:00
st net: cw1200: fix a NULL pointer dereference 2019-05-31 06:46:15 -07:00
ti wlcore: Fix the return value in case of error in 'wlcore_vendor_cmd_smart_config_start()' 2019-12-01 09:17:21 +01:00
zydas zd1211rw: use irqsave() in USB's complete callback 2018-06-27 19:12:43 +03:00
Kconfig
mac80211_hwsim.c mac80211_hwsim: Fix possible null-pointer dereferences in hwsim_dump_radio_nl() 2019-08-29 08:28:33 +02:00
mac80211_hwsim.h
Makefile
ray_cs.c ray_cs: remove redundant pointer 'p' 2018-07-31 10:19:50 +03:00
ray_cs.h
rayctl.h
rndis_wlan.c wireless-drivers: use BIT_ULL for NL80211_STA_INFO_ attribute types 2018-06-27 19:07:39 +03:00
wl3501.h
wl3501_cs.c