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: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -3156,15 +3156,15 @@ void ieee80211_sta_restart(struct ieee80211_sub_if_data *sdata)
|
|||||||
{
|
{
|
||||||
struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
|
struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
|
||||||
|
|
||||||
if (!ifmgd->associated)
|
mutex_lock(&ifmgd->mtx);
|
||||||
|
if (!ifmgd->associated) {
|
||||||
|
mutex_unlock(&ifmgd->mtx);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (sdata->flags & IEEE80211_SDATA_DISCONNECT_RESUME) {
|
if (sdata->flags & IEEE80211_SDATA_DISCONNECT_RESUME) {
|
||||||
sdata->flags &= ~IEEE80211_SDATA_DISCONNECT_RESUME;
|
sdata->flags &= ~IEEE80211_SDATA_DISCONNECT_RESUME;
|
||||||
mutex_lock(&ifmgd->mtx);
|
mlme_dbg(sdata, "driver requested disconnect after resume\n");
|
||||||
if (ifmgd->associated) {
|
|
||||||
mlme_dbg(sdata,
|
|
||||||
"driver requested disconnect after resume\n");
|
|
||||||
ieee80211_sta_connection_lost(sdata,
|
ieee80211_sta_connection_lost(sdata,
|
||||||
ifmgd->associated->bssid,
|
ifmgd->associated->bssid,
|
||||||
WLAN_REASON_UNSPECIFIED);
|
WLAN_REASON_UNSPECIFIED);
|
||||||
@@ -3172,7 +3172,6 @@ void ieee80211_sta_restart(struct ieee80211_sub_if_data *sdata)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mutex_unlock(&ifmgd->mtx);
|
mutex_unlock(&ifmgd->mtx);
|
||||||
}
|
|
||||||
|
|
||||||
if (test_and_clear_bit(TMR_RUNNING_TIMER, &ifmgd->timers_running))
|
if (test_and_clear_bit(TMR_RUNNING_TIMER, &ifmgd->timers_running))
|
||||||
add_timer(&ifmgd->timer);
|
add_timer(&ifmgd->timer);
|
||||||
|
Reference in New Issue
Block a user