wifi: cfg80211: sme: hold wiphy lock for wdev iteration

Since we will want to remove the wdev lock in the future,
lock the wiphy here to iterate and for checking the status
of the connections.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2023-08-28 13:59:54 +02:00
parent 0320d68f56
commit beb2df475b
1 changed files with 2 additions and 0 deletions

View File

@ -703,6 +703,7 @@ static bool cfg80211_is_all_idle(void)
* as chan dfs state, etc.
*/
for_each_rdev(rdev) {
wiphy_lock(&rdev->wiphy);
list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) {
wdev_lock(wdev);
if (wdev->conn || wdev->connected ||
@ -710,6 +711,7 @@ static bool cfg80211_is_all_idle(void)
is_all_idle = false;
wdev_unlock(wdev);
}
wiphy_unlock(&rdev->wiphy);
}
return is_all_idle;