aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/wireless/util.c')
-rw-r--r--net/wireless/util.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/net/wireless/util.c b/net/wireless/util.c
index 6a750bc6bcfe..414c9f604df6 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -896,3 +896,28 @@ u16 cfg80211_calculate_bitrate(struct rate_info *rate)
896 /* do NOT round down here */ 896 /* do NOT round down here */
897 return (bitrate + 50000) / 100000; 897 return (bitrate + 50000) / 100000;
898} 898}
899
900int cfg80211_validate_beacon_int(struct cfg80211_registered_device *rdev,
901 u32 beacon_int)
902{
903 struct wireless_dev *wdev;
904 int res = 0;
905
906 if (!beacon_int)
907 return -EINVAL;
908
909 mutex_lock(&rdev->devlist_mtx);
910
911 list_for_each_entry(wdev, &rdev->netdev_list, list) {
912 if (!wdev->beacon_interval)
913 continue;
914 if (wdev->beacon_interval != beacon_int) {
915 res = -EINVAL;
916 break;
917 }
918 }
919
920 mutex_unlock(&rdev->devlist_mtx);
921
922 return res;
923}