Check the queue mapping earlier, skb->queue_mapping is more likely than
skb->data to still be in d-cache.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
        struct sta_info *sta = container_of(pubsta, struct sta_info, sta);
        u16 tid;
 
+       if (skb_get_queue_mapping(skb) == IEEE80211_AC_VO)
+               return;
+
        if (unlikely(!ieee80211_is_data_qos(hdr->frame_control)))
                return;
 
        if (likely(sta->ampdu_mlme.tid_tx[tid]))
                return;
 
-       if (skb_get_queue_mapping(skb) == IEEE80211_AC_VO)
-               return;
-
        ieee80211_start_tx_ba_session(pubsta, tid, 5000);
 }