Regression in qca99x0 on x86 platform (kernel: 4.7.0-rc1-wt-ath

Rajkumar Manoharan rmanohar at codeaurora.org
Mon Jun 13 23:21:48 PDT 2016


On 2016-06-02 23:22, Ben Greear wrote:
> On 06/02/2016 10:46 AM, Rajkumar Manoharan wrote:
>> On 2016-06-02 22:57, Ben Greear wrote:
>>> On 06/02/2016 10:20 AM, Manoharan, Rajkumar wrote:
>>>> Found a regression in ath.git TOT that system hangs while probing 
>>>> qca99x0 device on x86_64 platform.
>>>> It seems the system hangs while DMA mapping of bigger memory chunks. 
>>>> Below are the list of memory
>>>> chucks requested by target for qca99x0 during service ready event. 
>>>> This issue is seen only on x86 platform.
>>>> No issues are observed on ARM platform (AP148). After reverting 
>>>> below commit able to bring up device on x86.
>>>> 
>>>> Jun  2 17:24:37 rmanohar-arch kernel: idx 0 pool_size 689816 
>>>> num_units 529 unit_len 1304
>>>> Jun  2 17:24:37 rmanohar-arch kernel: idx 1 pool_size 17152 
>>>> num_units 67 unit_len 256
>>>> Jun  2 17:24:37 rmanohar-arch kernel: idx 2 pool_size 68608 
>>>> num_units 67 unit_len 1024
>>>> Jun  2 17:24:37 rmanohar-arch kernel: idx 3 pool_size 274432 
>>>> num_units 67 unit_len 4096
>>>> Jun  2 17:24:37 rmanohar-arch kernel: idx 4 pool_size 107520 
>>>> num_units 35 unit_len 3072
>>>> Jun  2 17:24:37 rmanohar-arch kernel: idx 5 pool_size 6144 num_units 
>>>> 1 unit_len 6144
>>>> Jun  2 17:24:37 rmanohar-arch kernel: idx 6 pool_size 865444 
>>>> num_units 529 unit_len 1636
>>> 
>>> We have seen similar.  But, if we enable VT-d in our BIOS, then it
>>> works, at least in
>>> our scenarios.  I have not tried putting more than one 99x0 NIC in a
>>> system to date, so possibly
>>> more than one would cause more issues, and I guess systems without 
>>> VT-d might
>>> fail too...
>>> 
>> Yeah.. But the code should work even on non-VT-d systems. ins't it?
> 
> It would be great if it did.
> 
>>>> commit b057886524be060021e3cfad0ba8458c850330cd
>>>> Author: Felix Fietkau <nbd at openwrt.org>
>>>> Date:   Mon Nov 30 19:32:01 2015 +0100
>>>> 
>>>>      ath10k: do not use coherent memory for allocated device memory 
>>>> chunks
>>>> 
>>>>      Coherent memory is more expensive to allocate (and constrained 
>>>> on some
>>>>      architectures where it has to be pre-allocated). It is also 
>>>> completely
>>>>      unnecessary, since the host has no reason to even access these 
>>>> allocated
>>>>      memory spaces
>>>> 
>>>>      Signed-off-by: Felix Fietkau <nbd at openwrt.org>
>>>>      Signed-off-by: Kalle Valo <kvalo at qca.qualcomm.com>
>>>> 
>>>> 
>> Ben,
>> 
>> Can you help to confirm this issue by disabling VT-d and bring up 
>> qca99x0? If it freezes, try reverting the patch.
> 
> At the time, I bisected to this commit as well, but I decided to just
> live with it
> since it seemed it fixed some other bug and we had a work-around.  My
> understanding
> is that without the patch above, some ARM systems failed to work.
> 
Ben,

I posted a fix for the freeze issue 
(https://patchwork.kernel.org/patch/9175029/). Can you please give a try 
with VT-d disabled?

-Rajkumar




More information about the ath10k mailing list