ath10k + INTEL_IDLE aka. cstates == firmware crash
Fabian Wittenberg
Fabian.Wittenberg at sophos.com
Thu Mar 19 02:20:35 PDT 2015
Hi Michal,
thank you for the patch. Unfortunately I didn't had time until yesterday
to test it.
This patch has nearly no influence in the reported behaviour. As soon as
I enable intel_idle
the firmware stops working.
We also did even more intense testing and figured out that even with
disabled intel_idle
sometimes the card stops working in AP mode after a long time period or
putting really heavy load.
Normally SWBA overruns are reported slightly before the cards
stops responding.
If we disable
CONFIG_IRQ_DOMAIN=n
CONFIG_IRQ_DOMAIN_DEBUG=n
CONFIG_PM_RUNTIME=n
the crash still occure after 1-3 days but the card is further working.
At the moment we are invastigating the behavior with disabled
hibernation and cpu_idle.
For now it seems to work. But this could change in the next days...
This problem drives me really crazy.
Regards,
Fabian
Am 02.03.2015 um 13:20 schrieb Michal Kazior:
> On 23 February 2015 at 15:41, Fabian Wittenberg
> <Fabian.Wittenberg at sophos.com> wrote:
>> Hi Michal,
>>
>> I already did this approach. This works fine and is the current
>> workaround to get the product out, but I would like to know what the
>> basic problem is.
>> The power consumption increases by ~1.25W on idle devices if you disable
>> cstates. This is not a real problem but a low mem corruption is one.
>> So I assume a bug in the ath10k-driver/firmware.
> Hi Fabian,
>
> Can you try the following diff with _INTEL_IDLE=y, please?
>
> --- a/drivers/net/wireless/ath/ath10k/pci.c
> +++ b/drivers/net/wireless/ath/ath10k/pci.c
> @@ -2531,6 +2531,11 @@ static int ath10k_pci_claim(struct ath10k *ar)
>
> pci_set_master(pdev);
>
> + /* Disable RETRY_TIMEOUT register to prevent PCI Tx retries from
> + * interfering with C3 CPU state.
> + */
> + pci_write_config_byte(pdev, 0x41, 0);
> +
> /* Workaround: Disable ASPM */
> pci_read_config_dword(pdev, 0x80, &lcr_val);
> pci_write_config_dword(pdev, 0x80, (lcr_val & 0xffffff00));
>
>
> Michał
More information about the ath10k
mailing list