cfg80211: Add an attribute to set inactivity timeout in AP mode
This patch adds an attribute, NL80211_ATTR_INACTIVITY_TIMEOUT, to set the inactivity timeout which can be used to remove the station in AP mode. This can be passed in NL80211_CMD_START_AP and used by the drivers which have AP MLME in firmware but don't support get_station() properly. To disable inactivity timer in userspace, wpa_s for example, there is a new flag, NL80211_FEATURE_INACTIVITY_TIMER, in nl80211_feature_flags through which drivers can register their capability to use the inactivity timeout to free the stations. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

부모
d665508b98
커밋
1b658f118b
@@ -204,6 +204,7 @@ static const struct nla_policy nl80211_policy[NL80211_ATTR_MAX+1] = {
|
||||
.len = NL80211_HT_CAPABILITY_LEN
|
||||
},
|
||||
[NL80211_ATTR_NOACK_MAP] = { .type = NLA_U16 },
|
||||
[NL80211_ATTR_INACTIVITY_TIMEOUT] = { .type = NLA_U16 },
|
||||
};
|
||||
|
||||
/* policy for the key attributes */
|
||||
@@ -2214,6 +2215,13 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info)
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if (info->attrs[NL80211_ATTR_INACTIVITY_TIMEOUT]) {
|
||||
if (!(rdev->wiphy.features & NL80211_FEATURE_INACTIVITY_TIMER))
|
||||
return -EOPNOTSUPP;
|
||||
params.inactivity_timeout = nla_get_u16(
|
||||
info->attrs[NL80211_ATTR_INACTIVITY_TIMEOUT]);
|
||||
}
|
||||
|
||||
err = rdev->ops->start_ap(&rdev->wiphy, dev, ¶ms);
|
||||
if (!err)
|
||||
wdev->beacon_interval = params.beacon_interval;
|
||||
|
Reference in New Issue
Block a user