66482e179b
Signed-off-by: Felix Fietkau <nbd@nbd.name>
27 lines
970 B
Diff
27 lines
970 B
Diff
From: Ben Greear <greearb@candelatech.com>
|
|
Date: Tue, 29 Nov 2016 14:00:28 -0800
|
|
Subject: [PATCH] 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
|
|
|
|
Tested-by: Marek Behun <kabel@blackhole.sk>
|
|
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
|
---
|
|
|
|
--- a/drivers/net/wireless/ath/ath10k/wmi.c
|
|
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
|
|
@@ -4495,7 +4495,7 @@ static int ath10k_wmi_alloc_chunk(struct
|
|
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;
|