staging: r8188eu: get reason code from mgmt struct
authorMartin Kaiser <martin@kaiser.cx>
Sat, 15 Oct 2022 15:24:33 +0000 (17:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Oct 2022 15:35:03 +0000 (17:35 +0200)
Read the deauth reson code from the newly added mgmt structure instead of
calculating the offset ourselves.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150
Acked-by: Pavel Skripkin <paskripkin@gmail.com>
Link: https://lore.kernel.org/r/20221015152440.232281-3-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_mlme_ext.c

index 0c4b3b99150d7b387ca248fc333f4a50d26f0674..5c59fc91ecaeca1db2a857496b8b44f8a7e48862 100644 (file)
@@ -1473,7 +1473,7 @@ unsigned int OnDeAuth(struct adapter *padapter, struct recv_frame *precv_frame)
                _set_timer(&pwdinfo->reset_ch_sitesurvey, 10);
        }
 
-       reason = le16_to_cpu(*(__le16 *)(pframe + WLAN_HDR_A3_LEN));
+       reason = le16_to_cpu(mgmt->u.disassoc.reason_code);
 
        if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
                struct sta_info *psta;