staging: r8188eu: get bssid from mgmt struct
authorMartin Kaiser <martin@kaiser.cx>
Sat, 15 Oct 2022 15:24:36 +0000 (17:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Oct 2022 15:35:03 +0000 (17:35 +0200)
For management frames, Addr3 is the BSSID. Read it from the mgmt
structure instead of calling GetAddr3Ptr.

The pframe variable is now unused and can be removed.

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-6-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/r8188eu/core/rtw_mlme_ext.c

index 732ada6..742976c 100644 (file)
@@ -1462,7 +1462,6 @@ unsigned int OnDeAuth(struct adapter *padapter, struct recv_frame *precv_frame)
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
-       u8 *pframe = precv_frame->rx_data;
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
 
        if (memcmp(mgmt->bssid, get_my_bssid(&pmlmeinfo->network), ETH_ALEN))
@@ -1514,7 +1513,7 @@ unsigned int OnDeAuth(struct adapter *padapter, struct recv_frame *precv_frame)
                }
 
                if (!ignore_received_deauth)
-                       receive_disconnect(padapter, GetAddr3Ptr(pframe), reason);
+                       receive_disconnect(padapter, mgmt->bssid, reason);
 
                pmlmepriv->LinkDetectInfo.bBusyTraffic = false;
        }