On 07/08/2016 06:09 AM, Manoharan, Rajkumar wrote:
Logs are so limited. If possible, revert below commit and give a try

"ath10k: do not use coherent memory for allocated device memory chunks"

If revert is not so clean, try with this patch.

https://patchwork.kernel.org/patch/9175029/

I use this patch, I don't think it is upstream, and per comment, I have not
tested this on other than x86 platform:

[greearb@ben-dt ath10k]$ git show 0e6e6f6b2
commit 0e6e6f6b2fac0ade990de56eef3841dbe7128f35
Author: Ben Greear <[email protected]>
Date:   Thu Jan 21 18:57:11 2016 -0800

    ath10k:  wmi-alloc-chunk should use DMA_BIDIRECTIONAL.

    These memory chunks are often used as 'swap' by the NIC,
    so it will be both reading and writing to these areas.

    This seems to fix errors like this on my x86-64 machine:

    kernel: DMAR: DMAR:[DMA Write] Request device [05:00.0] fault addr ff5de000
            DMAR:[fault reason 05] PTE Write access is not set

    Should be tested and verified by someone who uses other platforms
    though...

    Signed-off-by: Ben Greear <[email protected]>

diff --git a/drivers/net/wireless/ath/ath10k/wmi.c 
b/drivers/net/wireless/ath/ath10k/wmi.c
index af37a77..502f0e0 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -4404,7 +4404,7 @@ static int ath10k_wmi_alloc_chunk(struct ath10k *ar, u32 
req_id,
        if (!num_units)
                return -ENOMEM;

-       paddr = dma_map_single(ar->dev, vaddr, pool_size, DMA_TO_DEVICE);
+       paddr = dma_map_single(ar->dev, vaddr, pool_size, DMA_BIDIRECTIONAL);
        if (dma_mapping_error(ar->dev, paddr)) {
                kfree(vaddr);
                return -ENOMEM;
[greearb@ben-dt ath10k]$


-Rajkumar
________________________________________
From: ath10k <[email protected]> on behalf of Ben Skeggs 
<[email protected]>
Sent: Friday, July 8, 2016 10:59 AM
To: [email protected]
Subject: AR9882 IOMMU faults

Hey,

I've just installed a COMPEX WLE600VX (AR9882) in my router machine,
operating in AP mode.

While it appears to be working well enough, I get massive floods of
IOMMU faults reported in my kernel log.  These appear to increase with
the load on the network.

I've attached both the info that ath10k reports when it detects the
device, and a sample of one of the DMAR messages (worth nothing that
it's the same fault address in all the messages).

Is this a known issue, and anything I can do to help get it resolved?

Thanks,
Ben.

_______________________________________________
ath10k mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/ath10k


--
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com

_______________________________________________
ath10k mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/ath10k

Reply via email to