Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 782d2673 authored by Johannes Berg's avatar Johannes Berg
Browse files

mac80211: remove redundant check



There's no need to have two checks for "associated"
in ieee80211_sta_restart(), make the first one locked
to not race (unlikely at this point during resume)
and remove the second check.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 683d41ae
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -3156,15 +3156,15 @@ void ieee80211_sta_restart(struct ieee80211_sub_if_data *sdata)
{
	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;

	if (!ifmgd->associated)
	mutex_lock(&ifmgd->mtx);
	if (!ifmgd->associated) {
		mutex_unlock(&ifmgd->mtx);
		return;
	}

	if (sdata->flags & IEEE80211_SDATA_DISCONNECT_RESUME) {
		sdata->flags &= ~IEEE80211_SDATA_DISCONNECT_RESUME;
		mutex_lock(&ifmgd->mtx);
		if (ifmgd->associated) {
			mlme_dbg(sdata,
				 "driver requested disconnect after resume\n");
		mlme_dbg(sdata, "driver requested disconnect after resume\n");
		ieee80211_sta_connection_lost(sdata,
					      ifmgd->associated->bssid,
					      WLAN_REASON_UNSPECIFIED);
@@ -3172,7 +3172,6 @@ void ieee80211_sta_restart(struct ieee80211_sub_if_data *sdata)
		return;
	}
	mutex_unlock(&ifmgd->mtx);
	}

	if (test_and_clear_bit(TMR_RUNNING_TIMER, &ifmgd->timers_running))
		add_timer(&ifmgd->timer);