wifi: rtw88: usb: fix priority queue to endpoint mapping
authorSascha Hauer <s.hauer@pengutronix.de>
Mon, 17 Apr 2023 14:03:55 +0000 (16:03 +0200)
committerKalle Valo <kvalo@kernel.org>
Thu, 20 Apr 2023 12:34:37 +0000 (15:34 +0300)
commita6f187f92bcc2b17821538b4a11d61764e68b091
tree5dccb38688d798a90b57b90f38c9a34d5c87fec7
parentd16836cdcc3b17734f6aae165268d2f1777a4f74
wifi: rtw88: usb: fix priority queue to endpoint mapping

The RTW88 chipsets have four different priority queues in hardware. For
the USB type chipsets the packets destined for a specific priority queue
must be sent through the endpoint corresponding to the queue. This was
not fully understood when porting from the RTW88 USB out of tree driver
and thus violated.

This patch implements the qsel to endpoint mapping as in
get_usb_bulkout_id_88xx() in the downstream driver.

Without this the driver often issues "timed out to flush queue 3"
warnings and often TX stalls completely.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Tested-by: ValdikSS <iam@valdikss.org.ru>
Tested-by: Alexandru gagniuc <mr.nuke.me@gmail.com>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: stable@vger.kernel.org
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230417140358.2240429-2-s.hauer@pengutronix.de
drivers/net/wireless/realtek/rtw88/usb.c