Commit a940b3a1 authored by Kalle Valo's avatar Kalle Valo
Browse files

Merge tag 'ath-current-20241016' of git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath

ath.git patches for v6.12-rc4

Fix two instances of memory leaks, one in ath10k and one in ath11k.
parents a95d28a8 befd716e
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -3043,9 +3043,14 @@ ath10k_wmi_tlv_op_cleanup_mgmt_tx_send(struct ath10k *ar,
				       struct sk_buff *msdu)
{
	struct ath10k_skb_cb *cb = ATH10K_SKB_CB(msdu);
	struct ath10k_mgmt_tx_pkt_addr *pkt_addr;
	struct ath10k_wmi *wmi = &ar->wmi;

	idr_remove(&wmi->mgmt_pending_tx, cb->msdu_id);
	spin_lock_bh(&ar->data_lock);
	pkt_addr = idr_remove(&wmi->mgmt_pending_tx, cb->msdu_id);
	spin_unlock_bh(&ar->data_lock);

	kfree(pkt_addr);

	return 0;
}
+2 −0
Original line number Diff line number Diff line
@@ -2441,6 +2441,7 @@ wmi_process_mgmt_tx_comp(struct ath10k *ar, struct mgmt_tx_compl_params *param)
	dma_unmap_single(ar->dev, pkt_addr->paddr,
			 msdu->len, DMA_TO_DEVICE);
	info = IEEE80211_SKB_CB(msdu);
	kfree(pkt_addr);

	if (param->status) {
		info->flags &= ~IEEE80211_TX_STAT_ACK;
@@ -9612,6 +9613,7 @@ static int ath10k_wmi_mgmt_tx_clean_up_pending(int msdu_id, void *ptr,
	dma_unmap_single(ar->dev, pkt_addr->paddr,
			 msdu->len, DMA_TO_DEVICE);
	ieee80211_free_txskb(ar->hw, msdu);
	kfree(pkt_addr);

	return 0;
}
+5 −2
Original line number Diff line number Diff line
@@ -5291,9 +5291,12 @@ int ath11k_dp_rx_process_mon_status(struct ath11k_base *ab, int mac_id,
		    hal_status == HAL_TLV_STATUS_PPDU_DONE) {
			rx_mon_stats->status_ppdu_done++;
			pmon->mon_ppdu_status = DP_PPDU_STATUS_DONE;
			ath11k_dp_rx_mon_dest_process(ar, mac_id, budget, napi);
			if (!ab->hw_params.full_monitor_mode) {
				ath11k_dp_rx_mon_dest_process(ar, mac_id,
							      budget, napi);
				pmon->mon_ppdu_status = DP_PPDU_STATUS_START;
			}
		}

		if (ppdu_info->peer_id == HAL_INVALID_PEERID ||
		    hal_status != HAL_RX_MON_STATUS_PPDU_DONE) {