staging: rtl8723bs: Pass correct parameters to cfg80211_get_bss()
authorHans de Goede <hdegoede@redhat.com>
Mon, 6 Mar 2023 15:35:12 +0000 (16:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Mar 2023 07:48:48 +0000 (08:48 +0100)
commit d17789edd6a8270c38459e592ee536a84c6202db upstream.

To last 2 parameters to cfg80211_get_bss() should be of
the enum ieee80211_bss_type resp. enum ieee80211_privacy types,
which WLAN_CAPABILITY_ESS very much is not.

Fix both cfg80211_get_bss() calls in ioctl_cfg80211.c to pass
the right parameters.

Note that the second call was already somewhat fixed by commenting
out WLAN_CAPABILITY_ESS and passing in 0 instead. This was still
not entirely correct though since that would limit returned
BSS-es to ESS type BSS-es with privacy on.

Cc: stable@vger.kernel.org
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230306153512.162104-2-hdegoede@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c

index 499ac3a775128e113037f3c13ba66441d0eabdf6..448c4248ca4cfe148eca14a90bc7e728ac6ac157 100644 (file)
@@ -358,7 +358,7 @@ int rtw_cfg80211_check_bss(struct adapter *padapter)
        bss = cfg80211_get_bss(padapter->rtw_wdev->wiphy, notify_channel,
                        pnetwork->mac_address, pnetwork->ssid.ssid,
                        pnetwork->ssid.ssid_length,
-                       WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS);
+                       IEEE80211_BSS_TYPE_ANY, IEEE80211_PRIVACY_ANY);
 
        cfg80211_put_bss(padapter->rtw_wdev->wiphy, bss);
 
@@ -1239,8 +1239,8 @@ void rtw_cfg80211_unlink_bss(struct adapter *padapter, struct wlan_network *pnet
 
        bss = cfg80211_get_bss(wiphy, NULL/*notify_channel*/,
                select_network->mac_address, select_network->ssid.ssid,
-               select_network->ssid.ssid_length, 0/*WLAN_CAPABILITY_ESS*/,
-               0/*WLAN_CAPABILITY_ESS*/);
+               select_network->ssid.ssid_length, IEEE80211_BSS_TYPE_ANY,
+               IEEE80211_PRIVACY_ANY);
 
        if (bss) {
                cfg80211_unlink_bss(wiphy, bss);