staging: rtl8723bs: indicate disconnection when disconnecting
authorChris Chiu <chiu@endlessm.com>
Wed, 31 Jul 2019 10:35:17 +0000 (18:35 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Jul 2019 11:37:13 +0000 (13:37 +0200)
The Realtek RTL8723BS only connects successfully at the very first
time, then it always fails attempting to switch to another AP. No
authentication/association observed from the air capture for each
attempt due to the cfg80211 believes the device is still connected.

Fix this by forcing to indicate the disconnection events during
disconnection so the cfg80211_connect can connect to a different
AP without problem.

Signed-off-by: Chris Chiu <chiu@endlessm.com>
Link: https://lore.kernel.org/r/20190731103517.66903-1-chiu@endlessm.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c

index 9bc6856..5787646 100644 (file)
@@ -2024,8 +2024,6 @@ static int cfg80211_rtw_leave_ibss(struct wiphy *wiphy, struct net_device *ndev)
 
        DBG_871X(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(ndev));
 
-       padapter->mlmepriv.not_indic_disco = true;
-
        old_type = rtw_wdev->iftype;
 
        rtw_set_to_roam(padapter, 0);
@@ -2047,8 +2045,6 @@ static int cfg80211_rtw_leave_ibss(struct wiphy *wiphy, struct net_device *ndev)
        }
 
 leave_ibss:
-       padapter->mlmepriv.not_indic_disco = false;
-
        return 0;
 }
 
@@ -2246,8 +2242,6 @@ static int cfg80211_rtw_disconnect(struct wiphy *wiphy, struct net_device *ndev,
 
        DBG_871X(FUNC_NDEV_FMT"\n", FUNC_NDEV_ARG(ndev));
 
-       padapter->mlmepriv.not_indic_disco = true;
-
        rtw_set_to_roam(padapter, 0);
 
        rtw_scan_abort(padapter);
@@ -2261,8 +2255,6 @@ static int cfg80211_rtw_disconnect(struct wiphy *wiphy, struct net_device *ndev,
        rtw_free_assoc_resources(padapter, 1);
        rtw_pwr_wakeup(padapter);
 
-       padapter->mlmepriv.not_indic_disco = false;
-
        DBG_871X(FUNC_NDEV_FMT" return 0\n", FUNC_NDEV_ARG(ndev));
        return 0;
 }