• Jouni Malinen's avatar
    mac80211: Fix WMM ACM parsing and AC downgrade operation · 0eeb59fe
    Jouni Malinen authored
    Incorrect local->wmm_acm bits were set for AC_BK and AC_BE. Fix this
    and add some comments to make it easier to understand the AC-to-UP(pair)
    mapping. Set the wmm_acm bits (and show WMM debug) even if the driver
    does not implement conf_tx() handler.
    
    In addition, fix the ACM-based AC downgrade code to not use the
    highest priority in error cases. We need to break the loop to get the
    correct AC_BK value (3) instead of returning 0 (which would indicate
    AC_VO). The comment here was not really very useful either, so let's
    provide somewhat more helpful description of the situation.
    
    Since it is very unlikely that the ACM flag would be set for AC_BK and
    AC_BE, these bugs are not likely to be seen in real life networks.
    Anyway, better do these things correctly should someone really use
    silly AP configuration (and to pass some functionality tests, too).
    
    Remove the TODO comment about handling ACM. Downgrading AC is
    perfectly valid mechanism for ACM. Eventually, we may add support for
    WMM-AC and send a request for a TS, but anyway, that functionality
    won't be here at the location of this TODO comment.
    Signed-off-by: default avatarJouni Malinen <jouni.malinen@atheros.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    0eeb59fe
mlme.c 55.8 KB