Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c8afef5 authored by Sujith's avatar Sujith Committed by John W. Linville
Browse files

ath9k: Fix sequence numbers for PAE frames



Currently, PAE frames are not assigned proper sequence numbers.
Since sending PAE frames as part of aggregates breaks
crupto with several APs, they are sent as normal MPDUs.
Fix the seqeuence number issue by updating the frame with the
internal sequence number.

Tested-by: default avatarFelix Fietkau <nbd@openwrt.org>
Signed-off-by: default avatarSujith <Sujith.Manoharan@atheros.com>
Cc: stable@kernel.org
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent c0ce77b8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1615,7 +1615,7 @@ static int ath_tx_setup_buffer(struct ieee80211_hw *hw, struct ath_buf *bf,
		bf->bf_frmlen -= padsize;
	}

	if (conf_is_ht(&hw->conf) && !is_pae(skb))
	if (conf_is_ht(&hw->conf))
		bf->bf_state.bf_type |= BUF_HT;

	bf->bf_flags = setup_tx_flags(sc, skb, txctl->txq);
@@ -1701,7 +1701,7 @@ static void ath_tx_start_dma(struct ath_softc *sc, struct ath_buf *bf,
			goto tx_done;
		}

		if (tx_info->flags & IEEE80211_TX_CTL_AMPDU) {
		if ((tx_info->flags & IEEE80211_TX_CTL_AMPDU) && !is_pae(skb)) {
			/*
			 * Try aggregation if it's a unicast data frame
			 * and the destination is HT capable.