linux/drivers/net
Sean Wang fe3fccde88 mt76: mt7921: fix possible invalid register access
Disable the interrupt and synchronze for the pending irq handlers to ensure
the irq tasklet is not being scheduled after the suspend to avoid the
possible invalid register access acts when the host pcie controller is
suspended.

[17932.910534] mt7921e 0000:01:00.0: pci_pm_suspend+0x0/0x22c returned 0 after 21375 usecs
[17932.910590] pcieport 0000:00:00.0: calling pci_pm_suspend+0x0/0x22c @ 18565, parent: pci0000:00
[17932.910602] pcieport 0000:00:00.0: pci_pm_suspend+0x0/0x22c returned 0 after 8 usecs
[17932.910671] mtk-pcie 11230000.pcie: calling platform_pm_suspend+0x0/0x60 @ 22783, parent: soc
[17932.910674] mtk-pcie 11230000.pcie: platform_pm_suspend+0x0/0x60 returned 0 after 0 usecs

...

17933.615352] x1 : 00000000000d4200 x0 : ffffff8269ca2300
[17933.620666] Call trace:
[17933.623127]  mt76_mmio_rr+0x28/0xf0 [mt76]
[17933.627234]  mt7921_rr+0x38/0x44 [mt7921e]
[17933.631339]  mt7921_irq_tasklet+0x54/0x1d8 [mt7921e]
[17933.636309]  tasklet_action_common+0x12c/0x16c
[17933.640754]  tasklet_action+0x24/0x2c
[17933.644418]  __do_softirq+0x16c/0x344
[17933.648082]  irq_exit+0xa8/0xac
[17933.651224]  scheduler_ipi+0xd4/0x148
[17933.654890]  handle_IPI+0x164/0x2d4
[17933.658379]  gic_handle_irq+0x140/0x178
[17933.662216]  el1_irq+0xb8/0x180
[17933.665361]  cpuidle_enter_state+0xf8/0x204
[17933.669544]  cpuidle_enter+0x38/0x4c
[17933.673122]  do_idle+0x1a4/0x2a8
[17933.676352]  cpu_startup_entry+0x24/0x28
[17933.680276]  rest_init+0xd4/0xe0
[17933.683508]  arch_call_rest_init+0x10/0x18
[17933.687606]  start_kernel+0x340/0x3b4
[17933.691279] Code: aa0003f5 d503201f f953eaa8 8b344108 (b9400113)
[17933.697373] ---[ end trace a24b8e26ffbda3c5 ]---
[17933.767846] Kernel panic - not syncing: Fatal exception in interrupt

Fixes: ffa1bf9742 ("mt76: mt7921: introduce PM support")
Signed-off-by: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-04-21 20:55:55 +02:00
..
appletalk
arcnet
bonding net: bonding: remove repeated word 2021-03-30 16:56:39 -07:00
caif
can can: etas_es58x: fix null pointer dereference when handling error frames 2021-04-14 09:32:12 +02:00
dsa net: dsa: mv88e6xxx: Allow dynamic reconfiguration of tag protocol 2021-04-20 16:51:19 -07:00
ethernet net: mana: remove redundant initialization of variable err 2021-04-20 17:05:19 -07:00
fddi
fjes
hamradio
hippi
hyperv net: remove the new_ifindex argument from dev_change_net_namespace 2021-04-07 14:43:28 -07:00
ieee802154 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-09 20:48:35 -07:00
ipa net: ipa: optionally define firmware name via DT 2021-04-16 15:38:32 -07:00
ipvlan
mdio
mhi net: mhi: remove pointless conditional before kfree_skb() 2021-03-30 13:47:28 -07:00
netdevsim netdevsim: remove unneeded semicolon 2021-04-06 16:27:33 -07:00
pcs
phy net: phy: at803x: fix probe error if copper page is selected 2021-04-20 17:08:28 -07:00
plip
ppp ppp: deflate: Remove useless call "zlib_inflateEnd" 2021-03-30 16:59:30 -07:00
slip
team
usb r8152: search the configuration of vendor mode 2021-04-16 15:28:31 -07:00
vmxnet3
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-09 20:48:35 -07:00
wireguard
wireless mt76: mt7921: fix possible invalid register access 2021-04-21 20:55:55 +02:00
wwan net: wwan: mhi_wwan_ctrl: Fix RX buffer starvation 2021-04-20 17:13:43 -07:00
xen-netback xen-netback: Check for hotplug-status existence before watching 2021-04-13 15:24:14 -07:00
bareudp.c bareudp: allow UDP L4 GRO passthrou 2021-03-30 17:06:50 -07:00
dummy.c
eql.c
geneve.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-17 11:08:07 -07:00
gtp.c
ifb.c
Kconfig net: Add a WWAN subsystem 2021-04-16 15:31:02 -07:00
LICENSE.SRC
loopback.c
macsec.c
macvlan.c
macvtap.c
Makefile net: Add a WWAN subsystem 2021-04-16 15:31:02 -07:00
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c net: Space: remove hp100 probe 2021-04-13 15:13:13 -07:00
sungem_phy.c
tap.c
thunderbolt.c
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-09 20:48:35 -07:00
veth.c veth: check for NAPI instead of xdp_prog before xmit of XDP frame 2021-04-16 15:42:07 -07:00
virtio_net.c virtio-net: fix use-after-free in page_to_skb() 2021-04-20 17:01:40 -07:00
vrf.c vrf: fix a comment about loopback device 2021-04-14 13:13:53 -07:00
vsockmon.c
vxlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-09 20:48:35 -07:00
xen-netfront.c