mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 02:36:02 +00:00
wifi: mac80211: ethtool: hold wiphy mutex
We should hold the wiphy mutex here since we're going to call the driver and want to remove the sta_mtx. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
1474bc87fe
commit
01ca280d32
@ -5,7 +5,7 @@
|
||||
* Copied from cfg.c - originally
|
||||
* Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net>
|
||||
* Copyright 2014 Intel Corporation (Author: Johannes Berg)
|
||||
* Copyright (C) 2018, 2022 Intel Corporation
|
||||
* Copyright (C) 2018, 2022-2023 Intel Corporation
|
||||
*/
|
||||
#include <linux/types.h>
|
||||
#include <net/cfg80211.h>
|
||||
@ -102,6 +102,7 @@ static void ieee80211_get_stats(struct net_device *dev,
|
||||
* network device.
|
||||
*/
|
||||
|
||||
wiphy_lock(local->hw.wiphy);
|
||||
mutex_lock(&local->sta_mtx);
|
||||
|
||||
if (sdata->vif.type == NL80211_IFTYPE_STATION) {
|
||||
@ -200,10 +201,13 @@ static void ieee80211_get_stats(struct net_device *dev,
|
||||
|
||||
mutex_unlock(&local->sta_mtx);
|
||||
|
||||
if (WARN_ON(i != STA_STATS_LEN))
|
||||
if (WARN_ON(i != STA_STATS_LEN)) {
|
||||
wiphy_unlock(local->hw.wiphy);
|
||||
return;
|
||||
}
|
||||
|
||||
drv_get_et_stats(sdata, stats, &(data[STA_STATS_LEN]));
|
||||
wiphy_unlock(local->hw.wiphy);
|
||||
}
|
||||
|
||||
static void ieee80211_get_strings(struct net_device *dev, u32 sset, u8 *data)
|
||||
|
Loading…
Reference in New Issue
Block a user