wifi: rt2x00: Fix "Error - Attempt to send packet over invalid queue 2"
authorHans de Goede <hdegoede@redhat.com>
Thu, 8 Sep 2022 17:36:18 +0000 (19:36 +0200)
committerKalle Valo <kvalo@kernel.org>
Mon, 19 Sep 2022 10:08:57 +0000 (13:08 +0300)
commitf2c6e7ca3ee6ebb0a9562f3c0f6d09f15eaed4ed
treebbde3efdd03eb1bb9a191a460a2beb7eea04cdbb
parent43aeb945eb0325c003e02ace3cd3676d4c81a368
wifi: rt2x00: Fix "Error - Attempt to send packet over invalid queue 2"

Even though ieee80211_hw.queues is set to 2, the ralink rt2x00 driver
is seeing tx skbs submitted to it with the queue-id set to 2 / set to
IEEE80211_AC_BE on a rt2500 card when associating with an access-point.

This causes rt2x00queue_get_tx_queue() to return NULL and the following
error to be logged: "ieee80211 phy0: rt2x00mac_tx: Error - Attempt to
send packet over invalid queue 2", after which association with the AP
fails.

This patch works around this by mapping QID_AC_BE and QID_AC_BK
to QID_AC_VI when there are only 2 tx_queues.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Stanislaw Gruszka <stf_xl@wp.pl>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220908173618.155291-2-hdegoede@redhat.com
drivers/net/wireless/ralink/rt2x00/rt2x00.h