cfg80211: Add global RRM capability
authorBeni Lev <beni.lev@intel.com>
Wed, 17 Feb 2016 18:30:00 +0000 (20:30 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 24 Feb 2016 08:04:41 +0000 (09:04 +0100)
commit0c9ca11b1ae8eb16c1b6bbae91991392d2321372
tree546c9155db103c7127aba6f04a66cd87101cc6d0
parentb5a33d52595f0cb153f09bf45a5dcd66a7418dbb
cfg80211: Add global RRM capability

Today, the supplicant will add the RRM capabilities
Information Element in the association request only if
Quiet period is supported (NL80211_FEATURE_QUIET).

Quiet is one of many RRM features, and there are other RRM
features that are not related to Quiet (e.g. neighbor
report). Therefore, requiring Quiet to enable RRM is too
restrictive.
Some of the features, like neighbor report, can be
supported by user space without any help from the kernel.
Hence adding the RRM capabilities IE to association request
should be the sole user space's decision.
Removing the RRM dependency on Quiet in the driver solves
this problem, but using an old driver with a user space
tool that would not require Quiet feature would be
problematic: the user space would add NL80211_ATTR_USE_RRM
in the association request even if the kernel doesn't
advertize NL80211_FEATURE_QUIET and the association would
be denied by the kernel.

This solution adds a global RRM capability, that tells user
space that it can request RRM capabilities IE publishment
without any specific feature support in the kernel.

Signed-off-by: Beni Lev <beni.lev@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/uapi/linux/nl80211.h
net/wireless/nl80211.c