summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-02-01 01:04:14 +0100
committerJohannes Berg <johannes.berg@intel.com>2013-02-04 18:57:43 +0100
commit2ca813ad61136896c91a40194452ff665a522711 (patch)
treee1eb791203ddc573a8ac34a9fd0a836dcbc20132
parent50521aa8817e3f6a77eb7aaabdbbb7b5c2fe0ea3 (diff)
downloadop-kernel-dev-2ca813ad61136896c91a40194452ff665a522711.zip
op-kernel-dev-2ca813ad61136896c91a40194452ff665a522711.tar.gz
cfg80211: move locking into cfg80211_bss_age
There's no reason for it to require external locking, move it into the function. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/wireless/scan.c3
-rw-r--r--net/wireless/sysfs.c2
2 files changed, 2 insertions, 3 deletions
diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index 34b47b3..1494d94 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -231,15 +231,16 @@ int __cfg80211_stop_sched_scan(struct cfg80211_registered_device *rdev,
return 0;
}
-/* must hold dev->bss_lock! */
void cfg80211_bss_age(struct cfg80211_registered_device *dev,
unsigned long age_secs)
{
struct cfg80211_internal_bss *bss;
unsigned long age_jiffies = msecs_to_jiffies(age_secs * MSEC_PER_SEC);
+ spin_lock_bh(&dev->bss_lock);
list_for_each_entry(bss, &dev->bss_list, list)
bss->ts -= age_jiffies;
+ spin_unlock_bh(&dev->bss_lock);
}
void cfg80211_bss_expire(struct cfg80211_registered_device *dev)
diff --git a/net/wireless/sysfs.c b/net/wireless/sysfs.c
index 9bf6d5e..73bf39f 100644
--- a/net/wireless/sysfs.c
+++ b/net/wireless/sysfs.c
@@ -108,9 +108,7 @@ static int wiphy_resume(struct device *dev)
int ret = 0;
/* Age scan results with time spent in suspend */
- spin_lock_bh(&rdev->bss_lock);
cfg80211_bss_age(rdev, get_seconds() - rdev->suspend_at);
- spin_unlock_bh(&rdev->bss_lock);
if (rdev->ops->resume) {
rtnl_lock();
OpenPOWER on IntegriCloud