diff options
author | Amitkumar Karwar <akarwar@marvell.com> | 2012-10-12 00:03:33 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-10-18 03:01:26 -0400 |
commit | e8e27c668bf5977d9fe1a64d0b69598ff9e292b7 (patch) | |
tree | 2e8b858f0b190edb6dba705cc386552f0b66e20e /net | |
parent | ed47377154310fd2fd59d75fcdeb3d022344fb31 (diff) |
cfg80211: code rearrangement to avoid forward declarations
bss_release() and __cfg80211_unlink_bss() function definitions
are moved at the begining of the file. They are used in next
patch in this series.
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/wireless/scan.c | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 9730c9862bdc..20050965abca 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c | |||
@@ -20,6 +20,33 @@ | |||
20 | 20 | ||
21 | #define IEEE80211_SCAN_RESULT_EXPIRE (30 * HZ) | 21 | #define IEEE80211_SCAN_RESULT_EXPIRE (30 * HZ) |
22 | 22 | ||
23 | static void bss_release(struct kref *ref) | ||
24 | { | ||
25 | struct cfg80211_internal_bss *bss; | ||
26 | |||
27 | bss = container_of(ref, struct cfg80211_internal_bss, ref); | ||
28 | if (bss->pub.free_priv) | ||
29 | bss->pub.free_priv(&bss->pub); | ||
30 | |||
31 | if (bss->beacon_ies_allocated) | ||
32 | kfree(bss->pub.beacon_ies); | ||
33 | if (bss->proberesp_ies_allocated) | ||
34 | kfree(bss->pub.proberesp_ies); | ||
35 | |||
36 | BUG_ON(atomic_read(&bss->hold)); | ||
37 | |||
38 | kfree(bss); | ||
39 | } | ||
40 | |||
41 | /* must hold dev->bss_lock! */ | ||
42 | static void __cfg80211_unlink_bss(struct cfg80211_registered_device *dev, | ||
43 | struct cfg80211_internal_bss *bss) | ||
44 | { | ||
45 | list_del_init(&bss->list); | ||
46 | rb_erase(&bss->rbn, &dev->bss_tree); | ||
47 | kref_put(&bss->ref, bss_release); | ||
48 | } | ||
49 | |||
23 | void ___cfg80211_scan_done(struct cfg80211_registered_device *rdev, bool leak) | 50 | void ___cfg80211_scan_done(struct cfg80211_registered_device *rdev, bool leak) |
24 | { | 51 | { |
25 | struct cfg80211_scan_request *request; | 52 | struct cfg80211_scan_request *request; |
@@ -158,24 +185,6 @@ int __cfg80211_stop_sched_scan(struct cfg80211_registered_device *rdev, | |||
158 | return 0; | 185 | return 0; |
159 | } | 186 | } |
160 | 187 | ||
161 | static void bss_release(struct kref *ref) | ||
162 | { | ||
163 | struct cfg80211_internal_bss *bss; | ||
164 | |||
165 | bss = container_of(ref, struct cfg80211_internal_bss, ref); | ||
166 | if (bss->pub.free_priv) | ||
167 | bss->pub.free_priv(&bss->pub); | ||
168 | |||
169 | if (bss->beacon_ies_allocated) | ||
170 | kfree(bss->pub.beacon_ies); | ||
171 | if (bss->proberesp_ies_allocated) | ||
172 | kfree(bss->pub.proberesp_ies); | ||
173 | |||
174 | BUG_ON(atomic_read(&bss->hold)); | ||
175 | |||
176 | kfree(bss); | ||
177 | } | ||
178 | |||
179 | /* must hold dev->bss_lock! */ | 188 | /* must hold dev->bss_lock! */ |
180 | void cfg80211_bss_age(struct cfg80211_registered_device *dev, | 189 | void cfg80211_bss_age(struct cfg80211_registered_device *dev, |
181 | unsigned long age_secs) | 190 | unsigned long age_secs) |
@@ -189,15 +198,6 @@ void cfg80211_bss_age(struct cfg80211_registered_device *dev, | |||
189 | } | 198 | } |
190 | 199 | ||
191 | /* must hold dev->bss_lock! */ | 200 | /* must hold dev->bss_lock! */ |
192 | static void __cfg80211_unlink_bss(struct cfg80211_registered_device *dev, | ||
193 | struct cfg80211_internal_bss *bss) | ||
194 | { | ||
195 | list_del_init(&bss->list); | ||
196 | rb_erase(&bss->rbn, &dev->bss_tree); | ||
197 | kref_put(&bss->ref, bss_release); | ||
198 | } | ||
199 | |||
200 | /* must hold dev->bss_lock! */ | ||
201 | void cfg80211_bss_expire(struct cfg80211_registered_device *dev) | 201 | void cfg80211_bss_expire(struct cfg80211_registered_device *dev) |
202 | { | 202 | { |
203 | struct cfg80211_internal_bss *bss, *tmp; | 203 | struct cfg80211_internal_bss *bss, *tmp; |