summaryrefslogtreecommitdiff
path: root/net/wireless
diff options
context:
space:
mode:
authorAndy Duan <fugang.duan@nxp.com>2018-09-13 17:23:37 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:34:00 +0800
commitd66b14c9a4b5b0c0a75f6c0b14258f684e4090b8 (patch)
tree9e1a3808221b5bf110945d95bd5540591b1b187b /net/wireless
parent19a7d0f8770391884a6ee331b76398f3adf728df (diff)
MLK-19091 cfg80211: make phy index match after wiphy dev is released
During insmod/rmmod test, the phy index increases that cause troube for test case. To make global variable wiphy_counter match between creat and free wiphy device, it needs to decrease the atomic counter when wiphy device is freed. Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com> Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c
index 45cbade9ad68..41ec0b89488c 100644
--- a/net/wireless/core.c
+++ b/net/wireless/core.c
@@ -41,6 +41,8 @@ MODULE_ALIAS_GENL_FAMILY(NL80211_GENL_NAME);
LIST_HEAD(cfg80211_rdev_list);
int cfg80211_rdev_list_generation;
+static atomic_t wiphy_counter = ATOMIC_INIT(0);
+
/* for debugfs */
static struct dentry *ieee80211_debugfs_dir;
@@ -383,8 +385,6 @@ static void cfg80211_propagate_cac_done_wk(struct work_struct *work)
struct wiphy *wiphy_new_nm(const struct cfg80211_ops *ops, int sizeof_priv,
const char *requested_name)
{
- static atomic_t wiphy_counter = ATOMIC_INIT(0);
-
struct cfg80211_registered_device *rdev;
int alloc_size;
@@ -972,6 +972,7 @@ void cfg80211_dev_free(struct cfg80211_registered_device *rdev)
}
list_for_each_entry_safe(scan, tmp, &rdev->bss_list, list)
cfg80211_put_bss(&rdev->wiphy, &scan->pub);
+ atomic_dec(&wiphy_counter);
kfree(rdev);
}