Message ID | 1559180960-13565-1-git-send-email-miaoqing@codeaurora.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 011d4111c8c602ea829fa4917af1818eb0500a90 |
Delegated to: | Kalle Valo |
Headers | show |
Series | ath10k: fix PCIE device wake up failed | expand |
Miaoqing Pan <miaoqing@codeaurora.org> wrote: > Observed PCIE device wake up failed after ~120 iterations of > soft-reboot test. The error message is > "ath10k_pci 0000:01:00.0: failed to wake up device : -110" > > The call trace as below: > ath10k_pci_probe -> ath10k_pci_force_wake -> ath10k_pci_wake_wait -> > ath10k_pci_is_awake > > Once trigger the device to wake up, we will continuously check the RTC > state until it returns RTC_STATE_V_ON or timeout. > > But for QCA99x0 chips, we use wrong value for RTC_STATE_V_ON. > Occasionally, we get 0x7 on the fist read, we thought as a failure > case, but actually is the right value, also verified with the spec. > So fix the issue by changing RTC_STATE_V_ON from 0x5 to 0x7, passed > ~2000 iterations. > > Tested HW: QCA9984 > > Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org> > Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Patch applied to ath-next branch of ath.git, thanks. 011d4111c8c6 ath10k: fix PCIE device wake up failed
diff --git a/drivers/net/wireless/ath/ath10k/hw.c b/drivers/net/wireless/ath/ath10k/hw.c index ad082b7..b242085 100644 --- a/drivers/net/wireless/ath/ath10k/hw.c +++ b/drivers/net/wireless/ath/ath10k/hw.c @@ -158,7 +158,7 @@ }; const struct ath10k_hw_values qca99x0_values = { - .rtc_state_val_on = 5, + .rtc_state_val_on = 7, .ce_count = 12, .msi_assign_ce_max = 12, .num_target_ce_config_wlan = 10,
Observed PCIE device wake up failed after ~120 iterations of soft-reboot test. The error message is "ath10k_pci 0000:01:00.0: failed to wake up device : -110" The call trace as below: ath10k_pci_probe -> ath10k_pci_force_wake -> ath10k_pci_wake_wait -> ath10k_pci_is_awake Once trigger the device to wake up, we will continuously check the RTC state until it returns RTC_STATE_V_ON or timeout. But for QCA99x0 chips, we use wrong value for RTC_STATE_V_ON. Occasionally, we get 0x7 on the fist read, we thought as a failure case, but actually is the right value, also verified with the spec. So fix the issue by changing RTC_STATE_V_ON from 0x5 to 0x7, passed ~2000 iterations. Tested HW: QCA9984 Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org> --- drivers/net/wireless/ath/ath10k/hw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)