123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- From 45d2e268369b0c768d5a644f319758bcfd370521 Mon Sep 17 00:00:00 2001
- From: Baochen Qiang <quic_bqiang@quicinc.com>
- Date: Wed, 28 Sep 2022 09:51:40 +0800
- Subject: [PATCH] wifi: ath11k: Don't exit on wakeup failure
- Currently, ath11k_pcic_read() returns an error if wakeup()
- fails, this makes firmware crash debug quite hard because we can
- get nothing.
- Change to go ahead on wakeup failure, in that case we still may
- get something valid to check. There should be no mislead due
- to incorrect content because we are aware of the failure with the
- log printed.
- Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
- Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com>
- Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
- Link: https://lore.kernel.org/r/20220928015140.5431-1-quic_bqiang@quicinc.com
- ---
- drivers/net/wireless/ath/ath11k/pcic.c | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
- --- a/drivers/net/wireless/ath/ath11k/pcic.c
- +++ b/drivers/net/wireless/ath/ath11k/pcic.c
- @@ -218,9 +218,16 @@ int ath11k_pcic_read(struct ath11k_base
- if (wakeup_required && ab->pci.ops->wakeup) {
- ret = ab->pci.ops->wakeup(ab);
- if (ret) {
- - ath11k_warn(ab, "failed to wakeup for read from 0x%x: %d\n",
- - start, ret);
- - return ret;
- + ath11k_warn(ab,
- + "wakeup failed, data may be invalid: %d",
- + ret);
- + /* Even though wakeup() failed, continue processing rather
- + * than returning because some parts of the data may still
- + * be valid and useful in some cases, e.g. could give us
- + * some clues on firmware crash.
- + * Mislead due to invalid data could be avoided because we
- + * are aware of the wakeup failure.
- + */
- }
- }
-
|