summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmitkumar Karwar2018-04-10 17:04:15 +0200
committerKalle Valo2018-04-24 19:25:11 +0200
commit3334306a086e6784ad32f395e5dcc9272ca0ce6e (patch)
tree6f62ad957a826fc4e95e8cac54b32da2760eb398
parentrsi: increase max supported aggregation subframes (diff)
downloadkernel-qcow2-linux-3334306a086e6784ad32f395e5dcc9272ca0ce6e.tar.gz
kernel-qcow2-linux-3334306a086e6784ad32f395e5dcc9272ca0ce6e.tar.xz
kernel-qcow2-linux-3334306a086e6784ad32f395e5dcc9272ca0ce6e.zip
rsi: parse TID from data frame correctly
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>
-rw-r--r--drivers/net/wireless/rsi/rsi_91x_core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/rsi/rsi_91x_core.c b/drivers/net/wireless/rsi/rsi_91x_core.c
index 3ca468b9f2b8..1f1b97220d43 100644
--- a/drivers/net/wireless/rsi/rsi_91x_core.c
+++ b/drivers/net/wireless/rsi/rsi_91x_core.c
@@ -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;