]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: rtw89: wow: add reason codes for disassociation in WoWLAN mode
authorChin-Yen Lee <timlee@realtek.com>
Sat, 10 Jan 2026 02:20:13 +0000 (10:20 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Thu, 15 Jan 2026 01:15:19 +0000 (09:15 +0800)
Some APs disconnect clients by sending a Disassociation frame
rather than a Deauthentication frame. Since these frames use
different reason codes in WoWLAN mode, this commit adds support
for handling Disassociation to prevent missed disconnection events.

Signed-off-by: Chin-Yen Lee <timlee@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260110022019.2254969-3-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/wow.c
drivers/net/wireless/realtek/rtw89/wow.h

index 8224f0e3fb9acc4c9dca084fdf30d5baef491195..5d3227e2b3e422fb34ab06fc6a8d77f1e5079900 100644 (file)
@@ -809,6 +809,10 @@ static void rtw89_wow_show_wakeup_reason(struct rtw89_dev *rtwdev)
 
        reason = rtw89_read8(rtwdev, wow_reason_reg);
        switch (reason) {
+       case RTW89_WOW_RSN_RX_DISASSOC:
+               wakeup.disconnect = true;
+               rtw89_debug(rtwdev, RTW89_DBG_WOW, "WOW: Rx disassoc\n");
+               break;
        case RTW89_WOW_RSN_RX_DEAUTH:
                wakeup.disconnect = true;
                rtw89_debug(rtwdev, RTW89_DBG_WOW, "WOW: Rx deauth\n");
index d2ba6cebc2a6b002043fad0275e0768f9c72b9f0..71e07f482174f1801f959545e7a8cc0b93a81fd0 100644 (file)
@@ -33,6 +33,7 @@
 enum rtw89_wake_reason {
        RTW89_WOW_RSN_RX_PTK_REKEY = 0x1,
        RTW89_WOW_RSN_RX_GTK_REKEY = 0x2,
+       RTW89_WOW_RSN_RX_DISASSOC = 0x4,
        RTW89_WOW_RSN_RX_DEAUTH = 0x8,
        RTW89_WOW_RSN_DISCONNECT = 0x10,
        RTW89_WOW_RSN_RX_MAGIC_PKT = 0x21,