summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath/ath10k/qmi.h
diff options
context:
space:
mode:
authorRakesh Pillai <pillair@codeaurora.org>2020-05-08 05:55:07 +0300
committerKalle Valo <kvalo@codeaurora.org>2020-05-11 15:30:37 +0300
commit7c6d67b136ceb0aebc7a3153b300e925ed915daf (patch)
tree0bb4c07a204897fa83c9f2c131e89bad6704e5b5 /drivers/net/wireless/ath/ath10k/qmi.h
parent32a2be499c01ee523b28018d451b39ded4297b11 (diff)
downloadlinux-7c6d67b136ceb0aebc7a3153b300e925ed915daf.tar.xz
ath10k: Skip handling del_server during driver exit
The qmi infrastructure sends the client a del_server event when the client releases its qmi handle. This is not the msg indicating the actual qmi server exiting. In such cases the del_server msg should not be processed, since the wifi firmware does not reset its qmi state. Hence skip the processing of del_server event when the driver is unloading. Tested HW: WCN3990 Tested FW: WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1 Fixes: ba94c753ccb4 ("ath10k: add QMI message handshake for wcn3990 client") Signed-off-by: Rakesh Pillai <pillair@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/1588663061-12138-1-git-send-email-pillair@codeaurora.org
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/qmi.h')
-rw-r--r--drivers/net/wireless/ath/ath10k/qmi.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath10k/qmi.h b/drivers/net/wireless/ath/ath10k/qmi.h
index 450be18b60ad..16190511318d 100644
--- a/drivers/net/wireless/ath/ath10k/qmi.h
+++ b/drivers/net/wireless/ath/ath10k/qmi.h
@@ -83,6 +83,11 @@ struct ath10k_qmi_driver_event {
void *data;
};
+enum ath10k_qmi_state {
+ ATH10K_QMI_STATE_INIT_DONE,
+ ATH10K_QMI_STATE_DEINIT,
+};
+
struct ath10k_qmi {
struct ath10k *ar;
struct qmi_handle qmi_hdl;
@@ -102,6 +107,7 @@ struct ath10k_qmi {
char fw_build_timestamp[MAX_TIMESTAMP_LEN + 1];
struct ath10k_qmi_cal_data cal_data[MAX_NUM_CAL_V01];
bool msa_fixed_perm;
+ enum ath10k_qmi_state state;
};
int ath10k_qmi_wlan_enable(struct ath10k *ar,