linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ath10k: Correct the DMA direction for management tx buffers
@ 2020-01-21  7:12 Rakesh Pillai
  2020-01-26 14:28 ` Kalle Valo
  0 siblings, 1 reply; 2+ messages in thread
From: Rakesh Pillai @ 2020-01-21  7:12 UTC (permalink / raw)
  To: ath10k; +Cc: linux-wireless, Rakesh Pillai

The management packets, send to firmware via WMI, are
mapped using the direction DMA_TO_DEVICE. Currently in
case of wmi cleanup, these buffers are being unmapped
using an incorrect DMA direction. This can cause unwanted
behavior when the host driver is handling a restart
of the wlan firmware.

We might see a trace like below

[<ffffff8008098b18>] __dma_inv_area+0x28/0x58
[<ffffff8001176734>] ath10k_wmi_mgmt_tx_clean_up_pending+0x60/0xb0 [ath10k_core]
[<ffffff80088c7c50>] idr_for_each+0x78/0xe4
[<ffffff80011766a4>] ath10k_wmi_detach+0x4c/0x7c [ath10k_core]
[<ffffff8001163d7c>] ath10k_core_stop+0x58/0x68 [ath10k_core]
[<ffffff800114fb74>] ath10k_halt+0xec/0x13c [ath10k_core]
[<ffffff8001165110>] ath10k_core_restart+0x11c/0x1a8 [ath10k_core]
[<ffffff80080c36bc>] process_one_work+0x16c/0x31c

Fix the incorrect DMA direction during the wmi
management tx buffer cleanup.

Tested HW: WCN3990
Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1

Fixes: dc405152bb6 ("ath10k: handle mgmt tx completion event")
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
---
 drivers/net/wireless/ath/ath10k/wmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
index 13f7531..61885d4 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -9490,7 +9490,7 @@ static int ath10k_wmi_mgmt_tx_clean_up_pending(int msdu_id, void *ptr,
 
 	msdu = pkt_addr->vaddr;
 	dma_unmap_single(ar->dev, pkt_addr->paddr,
-			 msdu->len, DMA_FROM_DEVICE);
+			 msdu->len, DMA_TO_DEVICE);
 	ieee80211_free_txskb(ar->hw, msdu);
 
 	return 0;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] ath10k: Correct the DMA direction for management tx buffers
  2020-01-21  7:12 [PATCH] ath10k: Correct the DMA direction for management tx buffers Rakesh Pillai
@ 2020-01-26 14:28 ` Kalle Valo
  0 siblings, 0 replies; 2+ messages in thread
From: Kalle Valo @ 2020-01-26 14:28 UTC (permalink / raw)
  To: Rakesh Pillai; +Cc: ath10k, linux-wireless, Rakesh Pillai

Rakesh Pillai <pillair@codeaurora.org> wrote:

> The management packets, send to firmware via WMI, are
> mapped using the direction DMA_TO_DEVICE. Currently in
> case of wmi cleanup, these buffers are being unmapped
> using an incorrect DMA direction. This can cause unwanted
> behavior when the host driver is handling a restart
> of the wlan firmware.
> 
> We might see a trace like below
> 
> [<ffffff8008098b18>] __dma_inv_area+0x28/0x58
> [<ffffff8001176734>] ath10k_wmi_mgmt_tx_clean_up_pending+0x60/0xb0 [ath10k_core]
> [<ffffff80088c7c50>] idr_for_each+0x78/0xe4
> [<ffffff80011766a4>] ath10k_wmi_detach+0x4c/0x7c [ath10k_core]
> [<ffffff8001163d7c>] ath10k_core_stop+0x58/0x68 [ath10k_core]
> [<ffffff800114fb74>] ath10k_halt+0xec/0x13c [ath10k_core]
> [<ffffff8001165110>] ath10k_core_restart+0x11c/0x1a8 [ath10k_core]
> [<ffffff80080c36bc>] process_one_work+0x16c/0x31c
> 
> Fix the incorrect DMA direction during the wmi
> management tx buffer cleanup.
> 
> Tested HW: WCN3990
> Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1
> 
> Fixes: dc405152bb6 ("ath10k: handle mgmt tx completion event")
> Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

6ba8b3b6bd77 ath10k: Correct the DMA direction for management tx buffers

-- 
https://patchwork.kernel.org/patch/11343145/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-01-26 14:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-21  7:12 [PATCH] ath10k: Correct the DMA direction for management tx buffers Rakesh Pillai
2020-01-26 14:28 ` Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).