Commit e31a8219 authored by David S. Miller's avatar David S. Miller
Browse files
wireless fixes for v6.12-rc5

The first set of wireless fixes for v6.12. We have been busy and have
not been able to send this earlier, so there are more fixes than
usual. The fixes are all over, both in stack and in drivers, but
nothing special really standing out.
parents d44cd822 a940b3a1
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) {
+1 −1
Original line number Diff line number Diff line
@@ -306,7 +306,7 @@ static void wil_rx_add_radiotap_header(struct wil6210_priv *wil,
				       struct sk_buff *skb)
{
	struct wil6210_rtap {
		struct ieee80211_radiotap_header rthdr;
		struct ieee80211_radiotap_header_fixed rthdr;
		/* fields should be in the order of bits in rthdr.it_present */
		/* flags */
		u8 flags;
+1 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ source "drivers/net/wireless/broadcom/brcm80211/brcmfmac/Kconfig"
config BRCM_TRACING
	bool "Broadcom device tracing"
	depends on BRCMSMAC || BRCMFMAC
	depends on TRACING
	help
	  If you say Y here, the Broadcom wireless drivers will register
	  with ftrace to dump event information into the trace ringbuffer.
Loading