return rc;
 }
 
+static const struct ieee80211_iface_limit ap_if_limits[] = {
+       { .max = 8,     .types = BIT(NL80211_IFTYPE_AP) },
+};
+
+static const struct ieee80211_iface_combination ap_if_comb = {
+       .limits = ap_if_limits,
+       .n_limits = ARRAY_SIZE(ap_if_limits),
+       .max_interfaces = 8,
+       .num_different_channels = 1,
+};
+
+
 static int mwl8k_firmware_load_success(struct mwl8k_priv *priv)
 {
        struct ieee80211_hw *hw = priv->hw;
                goto err_free_cookie;
 
        hw->wiphy->interface_modes = 0;
-       if (priv->ap_macids_supported || priv->device_info->fw_image_ap)
+
+       if (priv->ap_macids_supported || priv->device_info->fw_image_ap) {
                hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_AP);
+               hw->wiphy->iface_combinations = &ap_if_comb;
+               hw->wiphy->n_iface_combinations = 1;
+       }
+
        if (priv->sta_macids_supported || priv->device_info->fw_image_sta)
                hw->wiphy->interface_modes |= BIT(NL80211_IFTYPE_STATION);