Hi Mohammed, > >> static const struct ieee80211_iface_limit a[] = { > >> { .max = 2, .types = BIT(NL80211_IFTYPE_STATION) }, > >> }; > >> > >> static const struct ieee80211_iface_limit b[] = { > >> { .max = 2, .types = BIT(NL80211_IFTYPE_MESH_POINT) }, > >> }; > >> > >> static const struct ieee80211_iface_combination if_comb[] = { > >> {.limits = a, > >> .n_limits = ARRAY_SIZE(a), > >> .max_interfaces = 2, > >> .num_different_channels = 1, > >> }, > >> {.limits = b, > >> .n_limits = ARRAY_SIZE(b), > >> .max_interfaces = 2, > >> .num_different_channels = 1, > >> }, > >> > >> }; > >> > >> i could not add mesh interface if a managed interface is already there > >> and vice versa. if this is the expected behavior, then fine. > > > > No, that's not expected! Another bug! Actually, I'm sorry -- clearly I wasn't paying attention before -- it is expected. The above means you can add two managed or two mesh interface, but no combinations of them. Basically, the things in if_comb are XOR, and the things inside each limit are AND. johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html