]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - net/mac80211/rx.c
mac80211: allow the driver not to pass the tid to ieee80211_sta_uapsd_trigger
[mirror_ubuntu-bionic-kernel.git] / net / mac80211 / rx.c
index fc08a50b3ebdef288457922d1d45b40d7d7be555..837d56261bb26c3466d157fe0c069604c41f8daa 100644 (file)
@@ -1394,13 +1394,14 @@ void ieee80211_sta_uapsd_trigger(struct ieee80211_sta *pubsta, u8 tid)
        u8 ac = ieee802_1d_to_ac[tid & 7];
 
        /*
-        * If this AC is not trigger-enabled do nothing.
+        * If this AC is not trigger-enabled do nothing unless the
+        * driver is calling us after it already checked.
         *
         * NB: This could/should check a separate bitmap of trigger-
         * enabled queues, but for now we only implement uAPSD w/o
         * TSPEC changes to the ACs, so they're always the same.
         */
-       if (!(sta->sta.uapsd_queues & BIT(ac)))
+       if (!(sta->sta.uapsd_queues & BIT(ac)) && tid != IEEE80211_NUM_TIDS)
                return;
 
        /* if we are in a service period, do nothing */