Commit 72795e9d authored by Jes Sorensen's avatar Jes Sorensen Committed by Greg Kroah-Hartman
Browse files

staging: rtl8723au: rtw_set_ssid(): Use rtw_do_join_network()



We already have the wlan_network we wish to join, hence it's pointless
to go back to the scanned_queue and pull it out of there, before
running the join logic.

Signed-off-by: default avatarJes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 85b3c5e4
Loading
Loading
Loading
Loading
+21 −4
Original line number Diff line number Diff line
@@ -2099,11 +2099,28 @@ static int rtw_set_ssid(struct rtw_adapter *padapter,

	pmlmepriv->assoc_by_bssid = false;

	if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY))
	pmlmepriv->to_join = true;
	else
		status = rtw_do_join23a(padapter);

	if (!check_fwstate(pmlmepriv, _FW_UNDER_SURVEY)) {
		pmlmepriv->cur_network.join_res = -2;

		status = rtw_do_join_network(padapter, newnetwork);
		if (status == _SUCCESS) {
			pmlmepriv->to_join = false;
		} else {
			if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) {
				/* switch to ADHOC_MASTER */
				status = rtw_do_join_adhoc(padapter);
				if (status != _SUCCESS)
					goto release_mlme_lock;
			} else {
				/* can't associate ; reset under-linking */
				_clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING);
				status = _FAIL;
				pmlmepriv->to_join = false;
			}
		}
	}
release_mlme_lock:
	spin_unlock_bh(&pmlmepriv->lock);