Commit 17580de3 authored by Martin Kaiser's avatar Martin Kaiser Committed by Greg Kroah-Hartman
Browse files

staging: r8188eu: handle the non-ap case first



The OnDisassoc function hasn't got much to do if we're not working as an
access point. Move this case out of the large if statement to simplify the
code.

Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150
Signed-off-by: default avatarMartin Kaiser <martin@kaiser.cx>
Link: https://lore.kernel.org/r/20221129205152.128172-5-martin@kaiser.cx


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8f7f0593
Loading
Loading
Loading
Loading
+17 −19
Original line number Diff line number Diff line
@@ -1433,6 +1433,8 @@ static void OnDisassoc(struct adapter *padapter, struct recv_frame *precv_frame)
	struct mlme_ext_priv	*pmlmeext = &padapter->mlmeextpriv;
	struct mlme_ext_info	*pmlmeinfo = &pmlmeext->mlmext_info;
	struct wifidirect_info *pwdinfo = &padapter->wdinfo;
	struct sta_info *psta;
	struct sta_priv *pstapriv = &padapter->stapriv;

	if (memcmp(mgmt->bssid, get_my_bssid(&pmlmeinfo->network), ETH_ALEN))
		return;
@@ -1444,9 +1446,11 @@ static void OnDisassoc(struct adapter *padapter, struct recv_frame *precv_frame)

	reason = le16_to_cpu(mgmt->u.disassoc.reason_code);

	if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
		struct sta_info *psta;
		struct sta_priv *pstapriv = &padapter->stapriv;
	if (!check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
		receive_disconnect(padapter, mgmt->bssid, reason);
		pmlmepriv->LinkDetectInfo.bBusyTraffic = false;
		return;
	}

	psta = rtw_get_stainfo(pstapriv, mgmt->sa);
	if (psta) {
@@ -1462,12 +1466,6 @@ static void OnDisassoc(struct adapter *padapter, struct recv_frame *precv_frame)

		associated_clients_update(padapter, updated);
	}

		return;
	} else {
		receive_disconnect(padapter, mgmt->bssid, reason);
		pmlmepriv->LinkDetectInfo.bBusyTraffic = false;
	}
}

static void OnAction_back(struct adapter *padapter, struct recv_frame *precv_frame)