> const u8 *buf, size_t len, > const u8 *dest, const __be16 proto, > const bool noencrypt, int link_id, > - u64 *cookie); > + u64 *cookie, u16 vlan_id); It's tempting to say we should finally put all those parameters into a struct ... > +++ b/net/wireless/nl80211.c > @@ -11009,6 +11009,10 @@ static int nl80211_crypto_settings(struct cfg80211_registered_device *rdev, > > if (info->attrs[NL80211_ATTR_CONTROL_PORT_NO_PREAUTH]) > settings->control_port_no_preauth = true; > + > + if (info->attrs[NL80211_ATTR_VLAN_ID]) > + settings->control_port_vlan_id = > + nla_get_u16(info->attrs[NL80211_ATTR_VLAN_ID]); I'm not convinced it belongs into crypto settings? At least not with the commit message you wrote ;-) And either way it seems you probably need a feature flag to say it's supported for both cases? johannes