mwifiex: fix command timeout problem seen in stress tests
authorXinming Hu <huxm@marvell.com>
Wed, 28 Sep 2016 12:48:27 +0000 (18:18 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 9 Nov 2016 01:33:27 +0000 (03:33 +0200)
commit49abe5c83cd066f34f308d8c9e8abff7c2fb5d64
treea3419b635acfdc95a83dbe42a344db7c055de3a4
parent77f486c8bb39546fe7e574b6ec371e83fe772ee5
mwifiex: fix command timeout problem seen in stress tests

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: Xinming Hu <huxm@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/marvell/mwifiex/main.h
drivers/net/wireless/marvell/mwifiex/wmm.c