cfg80211: support virtual interfaces with different beacon intervals
authorPurushottam Kushwaha <pkushwah@qti.qualcomm.com>
Wed, 12 Oct 2016 12:56:51 +0000 (18:26 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 13 Oct 2016 12:28:29 +0000 (14:28 +0200)
commit0c317a02ca982ca093e71bf07cb562265ba40032
tree43f40ded70233ed84076b9c4579cc4df713455ad
parente227300c8395dffaa7614ce7c7666a82180ebc60
cfg80211: support virtual interfaces with different beacon intervals

This commit provides a mechanism for the host drivers to advertise the
support for different beacon intervals among the respective interface
combinations in a group, through NL80211_IFACE_COMB_BI_MIN_GCD (u32).

This value will be compared against GCD of all beaconing interfaces of
matching combinations.

If the driver doesn't advertise this value, the old behaviour where
all beacon intervals must be identical is retained.

If it is specified, then any beacon interval for an interface in the
interface combination as well as the GCD of all active beacon intervals
in the combination must be greater or equal to this value.

Signed-off-by: Purushottam Kushwaha <pkushwah@qti.qualcomm.com>
[change commit message, some variable names, small other things]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/cfg80211.h
include/uapi/linux/nl80211.h
net/wireless/core.h
net/wireless/nl80211.c
net/wireless/util.c