]> git.baikalelectronics.ru Git - kernel.git/commit
cfg80211: handle add_station auth/assoc flag quirks
authorJohannes Berg <johannes.berg@intel.com>
Thu, 26 Nov 2015 15:26:13 +0000 (16:26 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 4 Dec 2015 13:43:32 +0000 (14:43 +0100)
commita750deebca81df7856f7190f2c92a288e1f49815
tree1811e821caf2c003f532d40ecf1e404d6ecffc16
parenta3dbd5a1b6e15462d295fcffc90acc46c345cd73
cfg80211: handle add_station auth/assoc flag quirks

When a new station is added to AP/GO interfaces the default behaviour
is for it to be added authenticated and associated, due to backwards
compatibility. To prevent that, the driver must be able to do that
(setting the NL80211_FEATURE_FULL_AP_CLIENT_STATE feature flag) and
userspace must set the flag mask to auth|assoc and clear the set.

Handle this quirk in the API entirely in nl80211, and always push the
full flags to the drivers. NL80211_FEATURE_FULL_AP_CLIENT_STATE is
still required for userspace to be allowed to set the mask including
those bits, but after checking that add both flags to the mask and
set in case userspace didn't set them otherwise.

This obsoletes the mac80211 code handling this difference, no other
driver is currently using these flags.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/cfg.c
net/wireless/nl80211.c