staging: r8188eu: use subtype helper in rtw_check_bcn_info
authorMartin Kaiser <martin@kaiser.cx>
Fri, 2 Dec 2022 09:31:59 +0000 (10:31 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 5 Dec 2022 12:29:32 +0000 (13:29 +0100)
Use ieee80211_is_beacon to check the frame subtype in rtw_check_bcn_info.
Replace the call to the driver-specific GetFrameSubType function.

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

index da3465d..f1ebb53 100644 (file)
@@ -874,9 +874,10 @@ void VCS_update(struct adapter *padapter, struct sta_info *psta)
 
 int rtw_check_bcn_info(struct adapter  *Adapter, u8 *pframe, u32 packet_len)
 {
+       struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)pframe;
        unsigned int            len;
        unsigned char           *p;
-       unsigned short  val16, subtype;
+       unsigned short  val16;
        struct wlan_network *cur_network = &Adapter->mlmepriv.cur_network;
        /* u8 wpa_ie[255], rsn_ie[255]; */
        u16 wpa_len = 0, rsn_len = 0;
@@ -908,9 +909,7 @@ int rtw_check_bcn_info(struct adapter  *Adapter, u8 *pframe, u32 packet_len)
        if (!bssid)
                return _FAIL;
 
-       subtype = GetFrameSubType(pframe) >> 4;
-
-       if (subtype == WIFI_BEACON)
+       if (ieee80211_is_beacon(mgmt->frame_control))
                bssid->Reserved[0] = 1;
 
        bssid->Length = sizeof(struct wlan_bssid_ex) - MAX_IE_SZ + len;