• Xinming Hu's avatar
    mwifiex: fix command timeout problem seen in stress tests · 49abe5c8
    Xinming Hu authored
    It is observed that if single tid 6 packet comes among with massive tid 0
    packets, tid 6 packet may stay in it's queue and will never be
    transmited. This is because wmm.highest_queued_prio will be set to 2
    during transmission of tid 0 packets As a result, main work thread
    keeps on looping without serving that packet. In this case, if command
    has downloaded to firmware, driver doesn't process it's response causing
    command timeout.
    
    This patch will reset highest_queued_prio if packets exist in data
    queue, and try to find a ra_list for current private.
    Signed-off-by: default avatarXinming Hu <huxm@marvell.com>
    Signed-off-by: default avatarAmitkumar Karwar <akarwar@marvell.com>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    49abe5c8
wmm.c 41.8 KB