ath10k: fix core start sequence
authorMichal Kazior <michal.kazior@tieto.com>
Fri, 16 May 2014 14:15:39 +0000 (17:15 +0300)
committerKalle Valo <kvalo@qca.qualcomm.com>
Fri, 23 May 2014 08:00:08 +0000 (11:00 +0300)
commit95bf21f97f09b724ed7d5eb9f0b3c5c664f0329e
tree536ee96c67d188445ff4f7a47806327a3f564c87
parent46acf7bb9b61289ea3353561142e3bf41119bd3e
ath10k: fix core start sequence

It was possible to call hif_stop() 2 times through
ath10k_htc_connect_init() timeout failpath which
could lead to double free_irq() kernel splat for
multiple MSI interrupt case.

Re-order init sequence to avoid this problem. The
HTC stop shouldn't stop HIF implicitly since it
doesn't implicitly start it. Since the re-ordering
required some functions to be split/removed/renamed
rename a few functions to make more sense while at
it.

Reported-By: Ben Greear <greearb@candelatech.com>
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/core.c
drivers/net/wireless/ath/ath10k/htc.c
drivers/net/wireless/ath/ath10k/htt.c
drivers/net/wireless/ath/ath10k/htt.h
drivers/net/wireless/ath/ath10k/htt_rx.c
drivers/net/wireless/ath/ath10k/htt_tx.c
drivers/net/wireless/ath/ath10k/wmi.c
drivers/net/wireless/ath/ath10k/wmi.h