mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
ath10k: Correct error handling of dma_map_single()
[ Upstream commitd43810b2c1] The return value of dma_map_single() should be checked for errors using dma_mapping_error() and the skb has been dequeued so it needs to be freed. This was found when enabling CONFIG_DMA_API_DEBUG and it warned about the missing dma_mapping_error() call. Fixes:1807da4973("ath10k: wmi: add management tx by reference support over wmi") Reported-by: Niklas Cassel <niklas.cassel@linaro.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
a823d762a5
commit
01792265fb
@@ -3903,8 +3903,10 @@ void ath10k_mgmt_over_wmi_tx_work(struct work_struct *work)
|
||||
ar->running_fw->fw_file.fw_features)) {
|
||||
paddr = dma_map_single(ar->dev, skb->data,
|
||||
skb->len, DMA_TO_DEVICE);
|
||||
if (!paddr)
|
||||
if (dma_mapping_error(ar->dev, paddr)) {
|
||||
ieee80211_free_txskb(ar->hw, skb);
|
||||
continue;
|
||||
}
|
||||
ret = ath10k_wmi_mgmt_tx_send(ar, skb, paddr);
|
||||
if (ret) {
|
||||
ath10k_warn(ar, "failed to transmit management frame by ref via WMI: %d\n",
|
||||
|
||||
Reference in New Issue
Block a user