提交 6c8afef5 编写于 作者: S Sujith 提交者: John W. Linville

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: NFelix Fietkau <nbd@openwrt.org>
Signed-off-by: NSujith <Sujith.Manoharan@atheros.com>
Cc: stable@kernel.org
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 c0ce77b8
...@@ -1615,7 +1615,7 @@ static int ath_tx_setup_buffer(struct ieee80211_hw *hw, struct ath_buf *bf, ...@@ -1615,7 +1615,7 @@ static int ath_tx_setup_buffer(struct ieee80211_hw *hw, struct ath_buf *bf,
bf->bf_frmlen -= padsize; 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_state.bf_type |= BUF_HT;
bf->bf_flags = setup_tx_flags(sc, skb, txctl->txq); 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, ...@@ -1701,7 +1701,7 @@ static void ath_tx_start_dma(struct ath_softc *sc, struct ath_buf *bf,
goto tx_done; 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 * Try aggregation if it's a unicast data frame
* and the destination is HT capable. * and the destination is HT capable.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册