ath10k: dma unmap mgmt tx buffer if wmi cmd send fails
authorRakesh Pillai <pillair@codeaurora.org>
Tue, 27 Feb 2018 17:09:07 +0000 (19:09 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 14 Mar 2018 09:52:23 +0000 (11:52 +0200)
commit38a1390e02b7bfd02cabc98238e859c07d86a6d3
treeb0d8cf4cab897106092f68d3c67dc5c3984ffbed
parent3a3b745f1eaeb5c9f876bcc7849f6e35fbc87397
ath10k: dma unmap mgmt tx buffer if wmi cmd send fails

WCN3990 sends mgmt frames by reference via WMI.
The host dma maps the mgmt frame and sends the physical
address to the firmware in the wmi command. Since the
dma mapping is done in the gen_mgmt_tx and if the wmi
command send fails, the corresponding mgmt frame is
not being dma unmapped.

Fix the missing dma unmapping of mgmt tx frame when
wmi command sending fails for mgmt tx by reference
via WMI. The already exisiting mgmt tx using copy by
value does not need such dma unmapping.
Add a separate wmi-tlv op for mgmt tx via ref, which
takes care of unmapping the dma address, in case of
wmi command sending failure.

Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/mac.c
drivers/net/wireless/ath/ath10k/wmi-ops.h
drivers/net/wireless/ath/ath10k/wmi-tlv.c