ath10k: plug memory leak in wmi mgmt tx worker

sk_buff was not freed in some cases. The patch
unifies the msdu freeing.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
Michal Kazior 2013-10-28 07:18:13 +01:00 committed by Kalle Valo
parent 5474efe802
commit 5fb5e41f42
2 changed files with 4 additions and 4 deletions
drivers/net/wireless/ath/ath10k

View File

@ -1729,8 +1729,10 @@ void ath10k_mgmt_over_wmi_tx_work(struct work_struct *work)
break; break;
ret = ath10k_wmi_mgmt_tx(ar, skb); ret = ath10k_wmi_mgmt_tx(ar, skb);
if (ret) if (ret) {
ath10k_warn("wmi mgmt_tx failed (%d)\n", ret); ath10k_warn("wmi mgmt_tx failed (%d)\n", ret);
ieee80211_free_txskb(ar->hw, skb);
}
} }
} }

View File

@ -674,10 +674,8 @@ int ath10k_wmi_mgmt_tx(struct ath10k *ar, struct sk_buff *skb)
/* Send the management frame buffer to the target */ /* Send the management frame buffer to the target */
ret = ath10k_wmi_cmd_send(ar, wmi_skb, ar->wmi.cmd->mgmt_tx_cmdid); ret = ath10k_wmi_cmd_send(ar, wmi_skb, ar->wmi.cmd->mgmt_tx_cmdid);
if (ret) { if (ret)
dev_kfree_skb_any(skb);
return ret; return ret;
}
/* TODO: report tx status to mac80211 - temporary just ACK */ /* TODO: report tx status to mac80211 - temporary just ACK */
info->flags |= IEEE80211_TX_STAT_ACK; info->flags |= IEEE80211_TX_STAT_ACK;