• Emmanuel Grumbach's avatar
    iwlwifi: mvm: set the correct tid when we flush the MCAST sta · 334167de
    Emmanuel Grumbach authored
    The tid being used for the queue (cab_queue) for the MCAST
    station has been changed recently to be 0 (for BE).
    The flush path still flushed only the special tid (15)
    which means that the firmware wasn't flushing the right
    queue and we could get a firmware crash upon remove
    station if we had an MCAST packet on the ring.
    
    The current code that flushes queues for a station only
    differentiates between internal stations (stations that
    aren't instantiated in mac80211, like the MCAST station)
    and the non-internal ones.
    Internal stations can be either: BCAST (beacons), MCAST
    (for cab_queue), GENERAL_PURPOSE (p2p dev, and sniffer
    injection). The internal stations can use different tids.
    
    To make the code simpler, just flush all the tids always
    and add the special internal tid (15) for internal
    stations. The firmware will know how to handle this even
    if we hadn't any queue mapped that that tid.
    
    Fixes: e340c1a6ef4b ("iwlwifi: mvm: Correctly set the tid for mcast queue")
    Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
    334167de
tx.c 55.4 KB