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

Commit e005bd7d authored by Johannes Berg's avatar Johannes Berg
Browse files

cfg80211: call disconnect_wk when AP stops



Since we now prevent regulatory restore during STA disconnect
if concurrent AP interfaces are active, we need to reschedule
this check when the AP state changes. This fixes never doing
a restore when an AP is the last interface to stop. Or to put
it another way: we need to re-check after anything we check
here changes.

Cc: stable@vger.kernel.org
Fixes: 113f3aaa ("cfg80211: Prevent regulatory restore during STA disconnect in concurrent interfaces")
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 9d0f50b8
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@ int __cfg80211_stop_ap(struct cfg80211_registered_device *rdev,
		cfg80211_sched_dfs_chan_update(rdev);
	}

	schedule_work(&cfg80211_disconnect_work);

	return err;
}

+2 −0
Original line number Diff line number Diff line
@@ -445,6 +445,8 @@ void cfg80211_process_wdev_events(struct wireless_dev *wdev);
bool cfg80211_does_bw_fit_range(const struct ieee80211_freq_range *freq_range,
				u32 center_freq_khz, u32 bw_khz);

extern struct work_struct cfg80211_disconnect_work;

/**
 * cfg80211_chandef_dfs_usable - checks if chandef is DFS usable
 * @wiphy: the wiphy to validate against
+1 −1
Original line number Diff line number Diff line
@@ -667,7 +667,7 @@ static void disconnect_work(struct work_struct *work)
	rtnl_unlock();
}

static DECLARE_WORK(cfg80211_disconnect_work, disconnect_work);
DECLARE_WORK(cfg80211_disconnect_work, disconnect_work);


/*