diff options
| author | Felix Fietkau <nbd@openwrt.org> | 2013-12-19 12:01:51 -0500 |
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2013-12-19 14:41:57 -0500 |
| commit | 39731b78b4afebb7501c05b68e2443a1b250b41c (patch) | |
| tree | 6d53cb8d115fd98b4f724d199400c11883c47301 | |
| parent | 63ded3f059f5c906fdef4b7f0663fb39c4d96c8e (diff) | |
ath9k: simplify/fix tx packet TID handling
mac80211 guarantees that skb->priority is set to the TID, so use it
instead of trying to parse the QoS header manually.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/xmit.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 24846d91554b..475433288bbe 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c | |||
| @@ -174,14 +174,7 @@ static void ath_txq_skb_done(struct ath_softc *sc, struct ath_txq *txq, | |||
| 174 | static struct ath_atx_tid * | 174 | static struct ath_atx_tid * |
| 175 | ath_get_skb_tid(struct ath_softc *sc, struct ath_node *an, struct sk_buff *skb) | 175 | ath_get_skb_tid(struct ath_softc *sc, struct ath_node *an, struct sk_buff *skb) |
| 176 | { | 176 | { |
| 177 | struct ieee80211_hdr *hdr; | 177 | u8 tidno = skb->priority & IEEE80211_QOS_CTL_TID_MASK; |
| 178 | u8 tidno = 0; | ||
| 179 | |||
| 180 | hdr = (struct ieee80211_hdr *) skb->data; | ||
| 181 | if (ieee80211_is_data_qos(hdr->frame_control)) | ||
| 182 | tidno = ieee80211_get_qos_ctl(hdr)[0]; | ||
| 183 | |||
| 184 | tidno &= IEEE80211_QOS_CTL_TID_MASK; | ||
| 185 | return ATH_AN_2_TID(an, tidno); | 178 | return ATH_AN_2_TID(an, tidno); |
| 186 | } | 179 | } |
| 187 | 180 | ||
