]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
rsi: parse TID from data frame correctly
authorAmitkumar Karwar <amit.karwar@redpinesignals.com>
Tue, 10 Apr 2018 15:04:15 +0000 (20:34 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 24 Apr 2018 17:25:11 +0000 (20:25 +0300)
Currently TID is extracted by checking at specific offset in data frame.
This approach doesn't work for some of the frames. This patch uses mac80211
API and do it correctly

Signed-off-by: Amitkumar Karwar <amit.karwar@redpinesignals.com>
Signed-off-by: Siva Rebbagondla <siva.rebbagondla@redpinesignals.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/rsi/rsi_91x_core.c

index 3ca468b9f2b88dfecafe649fe20824e0277715ca..1f1b97220d4315073a8d5ec6ea3ea0168e5f0187 100644 (file)
@@ -432,7 +432,9 @@ void rsi_core_xmit(struct rsi_common *common, struct sk_buff *skb)
                }
        } else {
                if (ieee80211_is_data_qos(wh->frame_control)) {
-                       tid = (skb->data[24] & IEEE80211_QOS_TID);
+                       u8 *qos = ieee80211_get_qos_ctl(wh);
+
+                       tid = *qos & IEEE80211_QOS_CTL_TID_MASK;
                        skb->priority = TID_TO_WME_AC(tid);
                } else {
                        tid = IEEE80211_NONQOS_TID;