linux/drivers/net
Anilkumar Kolli 4ad24a9d83 ath10k: fix kernel panic, move arvifs list head init before htt init
It is observed that while loading and unloading ath10k modules
in an infinite loop, before ath10k_core_start() completion HTT
rx frames are received, while processing these frames,
dereferencing the arvifs list code is getting hit before
initilizing the arvifs list, causing a kernel panic.

This patch initilizes the arvifs list before initilizing htt.

Fixes the below issue:
 [<bf88b058>] (ath10k_htt_rx_pktlog_completion_handler+0x278/0xd08 [ath10k_core])
 [<bf88b058>] (ath10k_htt_rx_pktlog_completion_handler [ath10k_core])
 [<bf88c0dc>] (ath10k_htt_txrx_compl_task+0x5f4/0xeb0 [ath10k_core])
 [<bf88c0dc>] (ath10k_htt_txrx_compl_task [ath10k_core])
 [<c0234100>] (tasklet_action+0x8c/0xec)
 [<c0234100>] (tasklet_action)
 [<c02337c0>] (__do_softirq+0xf8/0x228)
 [<c02337c0>] (__do_softirq)  [<c0233920>] (run_ksoftirqd+0x30/0x90)
 Code: e5954ad8 e2899008 e1540009 0a00000d (e5943008)
 ---[ end trace 71de5c2e011dbf56 ]---
 Kernel panic - not syncing: Fatal exception in interrupt

Fixes: 500ff9f938 ("ath10k: implement chanctx API")
Cc: <stable@vger.kernel.org>
Signed-off-by: Anilkumar Kolli <akolli@qti.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2016-05-06 18:55:36 +03:00
..
appletalk
arcnet
bonding bonding: fix bond_get_stats() 2016-03-18 23:14:15 -04:00
caif
can can: rcar_can: Add r8a7795 support 2016-03-10 10:30:21 +01:00
cris
dsa dsa: mv88e6xxx: Use bus in mv88e6xxx_lookup_name() 2016-04-13 18:15:23 -04:00
ethernet ravb: make ravb_ptp_interrupt() *void* 2016-04-14 00:48:33 -04:00
fddi
fjes net: fjes: Use resource_size 2016-04-11 15:00:04 -04:00
hamradio
hippi
hyperv hv_netvsc: Fix the order of num_sc_offered decrement 2016-03-23 21:51:08 -04:00
ieee802154 ieee802154/adf7242: fix memory leak of firmware 2016-04-08 19:33:30 +02:00
ipvlan vlan: propagate gso_max_segs 2016-03-17 21:05:01 -04:00
irda irda: sh_irda: remove driver 2016-04-04 16:24:13 -04:00
phy net: mdio: Fix lockdep falls positive splat 2016-04-11 21:15:48 -04:00
plip
ppp ppp: take reference on channels netns 2016-03-23 14:35:31 -04:00
slip
team team: team should sync the port's uc/mc addrs when add a port 2016-03-30 17:06:58 -04:00
usb net: usb: cdc_ncm: adding Telit LE910 V2 mobile broadband card 2016-03-31 17:15:35 -04:00
vmxnet3 vmxnet3: fix lock imbalance in vmxnet3_tq_xmit() 2016-03-14 13:10:29 -04:00
wan farsync: fix off-by-one bug in fst_add_one 2016-03-14 13:09:49 -04:00
wimax
wireless ath10k: fix kernel panic, move arvifs list head init before htt init 2016-05-06 18:55:36 +03:00
xen-netback xen-netback: reduce log spam 2016-03-13 22:08:01 -04:00
dummy.c
eql.c
geneve.c geneve: change to use UDP socket GRO 2016-04-07 16:53:29 -04:00
ifb.c
Kconfig macsec: introduce IEEE 802.1AE driver 2016-03-13 22:40:24 -04:00
LICENSE.SRC
loopback.c
macsec.c macsec: introduce IEEE 802.1AE driver 2016-03-13 22:40:24 -04:00
macvlan.c vlan: propagate gso_max_segs 2016-03-17 21:05:01 -04:00
macvtap.c macvtap: always pass ethernet header in linear 2016-03-11 14:45:21 -05:00
Makefile macsec: introduce IEEE 802.1AE driver 2016-03-13 22:40:24 -04:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c rapidio/rionet: add mport removal handling 2016-03-22 15:36:02 -07:00
sb1000.c
Space.c
sungem_phy.c
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-04-09 17:41:41 -04:00
veth.c veth: implement ndo_set_rx_headroom 2016-03-01 15:54:31 -05:00
virtio_net.c virtio/vhost: new features, performance improvements, cleanups 2016-03-20 13:28:18 -07:00
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-03-08 12:34:12 -05:00
vxlan.c vxlan: fix incorrect type 2016-04-11 15:01:56 -04:00
xen-netfront.c