diff mbox

Yesterdays kernel/git/kvalo/ath.git failes with COMPEX WLE600VX

Message ID 87a8q8uco7.fsf@kamboji.qca.qualcomm.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Kalle Valo Nov. 20, 2015, 11:34 a.m. UTC
Joerg Pommnitz <pommnitz@yahoo.com> writes:

> Hello all,
> Kalles current git tree fails to initialize my COMPEX WLE600VX. The kernel log shows
> [   16.373978] ath10k_pci 0000:05:00.0: failed to wake up device : -110
> [   16.374118] ath10k_pci: probe of 0000:05:00.0 failed with error -110

Can you send full dmesg, right from the beginning of the boot, please?
It might give some hints.

I have a similar problem in one of my laptop (lenovo thinkpad x230). The
patch below helps with that one, but I haven't investigated it more yet.

        ret = pci_enable_device(pdev);
        if (ret) {
                ath10k_err(ar, "failed to enable pci device: %d\n",
                ret);

Comments

Joerg Pommnitz Nov. 20, 2015, 1:31 p.m. UTC | #1
Kalle,
attached are dmesg logs from 3.18.24 and your git tree. The patch from your mail is _NOT_ yet applied.

BTW, patch gives an offset of 99 lines when applying to your git tree. Is this relative to a branch?

 
--
  Regards       Joerg



> Kalle Valo <kvalo@qca.qualcomm.com> schrieb am 12:34 Freitag, 20.November 2015:
> > Joerg Pommnitz <pommnitz@yahoo.com> writes:
> 
> 
>>  Hello all,
>>  Kalles current git tree fails to initialize my COMPEX WLE600VX. The kernel 
> log shows
>>  [   16.373978] ath10k_pci 0000:05:00.0: failed to wake up device : -110
>>  [   16.374118] ath10k_pci: probe of 0000:05:00.0 failed with error -110
> 
> Can you send full dmesg, right from the beginning of the boot, please?
> It might give some hints.
> 
> I have a similar problem in one of my laptop (lenovo thinkpad x230). The
> patch below helps with that one, but I haven't investigated it more yet.
> 
> --- a/drivers/net/wireless/ath/ath10k/pci.c
> +++ b/drivers/net/wireless/ath/ath10k/pci.c
> @@ -2811,6 +2811,18 @@ static int ath10k_pci_claim(struct ath10k *ar)
> 
>         pci_set_drvdata(pdev, ar);
> 
> +       /*
> +        * Without any knowledge of the Host, the Target may have been
> reset or
> +        * power cycled and its Config Space may no longer reflect the
> PCI
> +        * address space that was assigned earlier by the PCI
> infrastructure.
> +        * Refresh it now.
> +        */
> +       ret = pci_assign_resource(pdev, BAR_NUM);
> +       if (ret) {
> +               ath10k_err(ar, "failed to assign PCI space: %d\n", 
> ret);
> +               return ret;
> +       }
> +
>         ret = pci_enable_device(pdev);
>         if (ret) {
>                 ath10k_err(ar, "failed to enable pci device: 
> %d\n",
>                 ret);
> 
> 
> -- 
> Kalle Valo
>
Joerg Pommnitz Nov. 20, 2015, 1:49 p.m. UTC | #2
Kalle,
your patch did not really make a difference. ath10k now says:
[   13.098404] ath10k_pci 0000:05:00.0: BAR 0: assigned [mem 0x48400000-0x485fffff 64bit]
[   13.128788] ath10k_pci 0000:05:00.0: failed to wake up device : -110
[   13.146877] ath10k_pci: probe of 0000:05:00.0 failed with error -110

dmesg log is attached.


--
  Regards       Joerg


> Kalle Valo <kvalo@qca.qualcomm.com> schrieb am 12:35 Freitag, 20.November 2015:
> > Joerg Pommnitz <pommnitz@yahoo.com> writes:
> 
> 
>>  Hello all,
>>  Kalles current git tree fails to initialize my COMPEX WLE600VX. The kernel 
> log shows
>>  [   16.373978] ath10k_pci 0000:05:00.0: failed to wake up device : -110
>>  [   16.374118] ath10k_pci: probe of 0000:05:00.0 failed with error -110
> 
> Can you send full dmesg, right from the beginning of the boot, please?
> It might give some hints.
> 
> I have a similar problem in one of my laptop (lenovo thinkpad x230). The
> patch below helps with that one, but I haven't investigated it more yet.
> 
> --- a/drivers/net/wireless/ath/ath10k/pci.c
> +++ b/drivers/net/wireless/ath/ath10k/pci.c
> @@ -2811,6 +2811,18 @@ static int ath10k_pci_claim(struct ath10k *ar)
> 
>         pci_set_drvdata(pdev, ar);
> 
> +       /*
> +        * Without any knowledge of the Host, the Target may have been
> reset or
> +        * power cycled and its Config Space may no longer reflect the
> PCI
> +        * address space that was assigned earlier by the PCI
> infrastructure.
> +        * Refresh it now.
> +        */
> +       ret = pci_assign_resource(pdev, BAR_NUM);
> +       if (ret) {
> +               ath10k_err(ar, "failed to assign PCI space: %d\n", 
> ret);
> +               return ret;
> +       }
> +
>         ret = pci_enable_device(pdev);
>         if (ret) {
>                 ath10k_err(ar, "failed to enable pci device: 
> %d\n",
>                 ret);
> 
> 
> -- 
> Kalle Valo
>
Kalle Valo Nov. 25, 2015, 12:21 p.m. UTC | #3
Joerg Pommnitz <pommnitz@yahoo.com> writes:

> Kalle, attached are dmesg logs from 3.18.24 and your git tree. The
> patch from your mail is _NOT_ yet applied.

Thanks. So the ath10k board is on slot 0000:05:00.0. In 4.3 log I saw
this warning:

[    0.488080] pci 0000:05:00.0: can't claim BAR 0 [mem
0xe8000000-0xe81fffff 64bit]: address conflict with PCI Bus 0000:01
[mem 0xe8000000-0xe85fffff]

Also the BAR configurations look different, 3.18 has:

[    0.596024] pci 0000:05:00.0: BAR 6: assigned [mem 0xe8200000-0xe820ffff pref]

but 4.3 has:

[    0.660123] pci 0000:05:00.0: BAR 0: assigned [mem 0x48400000-0x485fffff 64bit]
[    0.664037] pci 0000:05:00.0: BAR 6: assigned [mem 0x48290000-0x4829ffff pref]

The chances are that this has something to do with your problem. Also in
a private email[1] you mentioned that latest ath10k works with 3.18
kernel, right? This makes me suspect that this is a problem outside
ath10k, but I'm not a PCI bus expert so I'm not really sure.

I recommend that next you try other major kernel versions (3.19, 4.0,
4.1 and so on) and find out what release first introduced the
regression. Remember always to take full dmesg logs like you have done
now. And once you have that send a mail to proper lists asking for help,
for example at least linux-wireless and linux-pci. But please continue
to CC ath10k list also, it's interesting to know what is causing this.

And even better is that if you can run full bisect to find the offending
commit, but that takes a quite long time.

> BTW, patch gives an offset of 99 lines when applying to your git tree.
> Is this relative to a branch?

The patch was few weeks old, I haven't rebased it since so that's
normal. I just hope it applied to the change to the correct location.

[1] Please do not send private email, the discussions should happen on
the list.
diff mbox

Patch

--- a/drivers/net/wireless/ath/ath10k/pci.c
+++ b/drivers/net/wireless/ath/ath10k/pci.c
@@ -2811,6 +2811,18 @@  static int ath10k_pci_claim(struct ath10k *ar)
 
        pci_set_drvdata(pdev, ar);
 
+       /*
+        * Without any knowledge of the Host, the Target may have been
reset or
+        * power cycled and its Config Space may no longer reflect the
PCI
+        * address space that was assigned earlier by the PCI
infrastructure.
+        * Refresh it now.
+        */
+       ret = pci_assign_resource(pdev, BAR_NUM);
+       if (ret) {
+               ath10k_err(ar, "failed to assign PCI space: %d\n", ret);
+               return ret;
+       }
+