+ if (!tb_comb[NL80211_IFACE_COMB_LIMITS])
+ continue;
+
+ nla_for_each_nested(limit, tb_comb[NL80211_IFACE_COMB_LIMITS], limit_rem)
+ {
+ struct nlattr *mode;
+
+ nla_parse_nested(tb_limit, NUM_NL80211_IFACE_LIMIT, limit, iface_limit_policy);
+
+ if (!tb_limit[NL80211_IFACE_LIMIT_TYPES] ||
+ !tb_limit[NL80211_IFACE_LIMIT_MAX])
+ continue;
+
+ if (nla_get_u32(tb_limit[NL80211_IFACE_LIMIT_MAX]) < 2)
+ continue;
+
+ nla_for_each_nested(mode, tb_limit[NL80211_IFACE_LIMIT_TYPES], mode_rem) {
+ if (nla_type(mode) == NL80211_IFTYPE_AP)
+ *ret = 1;
+ }
+ }