Commit 8a71f34b authored by Mathy Vanhoef's avatar Mathy Vanhoef Committed by Kalle Valo
Browse files

ath9k_htc: adhere to the DONT_REORDER transmit flag



Assure that frames with the fixed order flag are not reordered
relative to each other. This is accomplished by transmitting them
using a fixed priority independent of their QoS field.

Signed-off-by: default avatarMathy Vanhoef <Mathy.Vanhoef@kuleuven.be>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201104061823.197407-6-Mathy.Vanhoef@kuleuven.be
parent 743b9065
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -297,7 +297,12 @@ static void ath9k_htc_tx_data(struct ath9k_htc_priv *priv,
		tx_hdr.data_type = ATH9K_HTC_NORMAL;
	}

	if (ieee80211_is_data_qos(hdr->frame_control)) {
	/* Transmit all frames that should not be reordered relative
	 * to each other using the same priority. For other QoS data
	 * frames extract the priority from the header.
	 */
	if (!(tx_info->control.flags & IEEE80211_TX_CTRL_DONT_REORDER) &&
	    ieee80211_is_data_qos(hdr->frame_control)) {
		qc = ieee80211_get_qos_ctl(hdr);
		tx_hdr.tidno = qc[0] & IEEE80211_QOS_CTL_TID_MASK;
	}