wifi: rtl8xxxu: Select correct queue for beacon frames

Use the special beacon queue for beacon frames instead of the management
frame queue. They will be put in a special area called reserved page and
send out periodically when in AP mode.

Signed-off-by: Martin Kaistra <martin.kaistra@linutronix.de>
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230428150833.218605-3-martin.kaistra@linutronix.de
This commit is contained in:
Martin Kaistra
2023-04-28 17:08:17 +02:00
committed by Kalle Valo
parent ac48499e2b
commit 25ed009cc0

View File

@@ -5010,7 +5010,9 @@ static u32 rtl8xxxu_queue_select(struct ieee80211_hdr *hdr, struct sk_buff *skb)
{
u32 queue;
if (ieee80211_is_mgmt(hdr->frame_control))
if (unlikely(ieee80211_is_beacon(hdr->frame_control)))
queue = TXDESC_QUEUE_BEACON;
else if (ieee80211_is_mgmt(hdr->frame_control))
queue = TXDESC_QUEUE_MGNT;
else
queue = rtl8xxxu_80211_to_rtl_queue(skb_get_queue_mapping(skb));