[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200602052533.15048-1-john.stultz@linaro.org>
Date: Tue, 2 Jun 2020 05:25:33 +0000
From: John Stultz <john.stultz@...aro.org>
To: lkml <linux-kernel@...r.kernel.org>
Cc: John Stultz <john.stultz@...aro.org>,
Rakesh Pillai <pillair@....qualcomm.com>,
Govind Singh <govinds@...eaurora.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Niklas Cassel <niklas.cassel@...aro.org>,
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
Amit Pundir <amit.pundir@...aro.org>,
Brian Norris <briannorris@...omium.org>,
Kalle Valo <kvalo@...eaurora.org>, ath10k@...ts.infradead.org
Subject: [PATCH] wireless: ath10k: Return early in ath10k_qmi_event_server_exit() to avoid hard crash on reboot
Ever since 5.7-rc1, if we call
ath10k_qmi_remove_msa_permission(), the db845c hard crashes on
reboot, resulting in the device getting stuck in the usb crash
debug mode and not coming back up wihthout a hard power off.
This hack avoids the issue by returning early in
ath10k_qmi_event_server_exit().
A better solution is very much desired!
Feedback and suggestions welcome!
Cc: Rakesh Pillai <pillair@....qualcomm.com>
Cc: Govind Singh <govinds@...eaurora.org>
Cc: Bjorn Andersson <bjorn.andersson@...aro.org>
Cc: Niklas Cassel <niklas.cassel@...aro.org>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
Cc: Amit Pundir <amit.pundir@...aro.org>
Cc: Brian Norris <briannorris@...omium.org>
Cc: Kalle Valo <kvalo@...eaurora.org>
Cc: ath10k@...ts.infradead.org
Reported-by: Amit Pundir <amit.pundir@...aro.org>
Signed-off-by: John Stultz <john.stultz@...aro.org>
---
drivers/net/wireless/ath/ath10k/qmi.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/wireless/ath/ath10k/qmi.c b/drivers/net/wireless/ath/ath10k/qmi.c
index 85dce43c5439..ab38562ce1cb 100644
--- a/drivers/net/wireless/ath/ath10k/qmi.c
+++ b/drivers/net/wireless/ath/ath10k/qmi.c
@@ -854,6 +854,11 @@ static void ath10k_qmi_event_server_exit(struct ath10k_qmi *qmi)
struct ath10k *ar = qmi->ar;
struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar);
+ /*
+ * HACK: Calling ath10k_qmi_remove_msa_permission causes
+ * hardware to hard crash on reboot
+ */
+ return;
ath10k_qmi_remove_msa_permission(qmi);
ath10k_core_free_board_files(ar);
if (!test_bit(ATH10K_SNOC_FLAG_UNREGISTERING, &ar_snoc->flags))
--
2.17.1
Powered by blists - more mailing lists