diff options
Diffstat (limited to 'package/mac80211/patches/b02-rt2x00-add-multiple-ap.patch')
-rw-r--r-- | package/mac80211/patches/b02-rt2x00-add-multiple-ap.patch | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/package/mac80211/patches/b02-rt2x00-add-multiple-ap.patch b/package/mac80211/patches/b02-rt2x00-add-multiple-ap.patch deleted file mode 100644 index 4f06e79dec..0000000000 --- a/package/mac80211/patches/b02-rt2x00-add-multiple-ap.patch +++ /dev/null @@ -1,94 +0,0 @@ ---- a/drivers/net/wireless/rt2x00/rt2x00.h -+++ b/drivers/net/wireless/rt2x00/rt2x00.h -@@ -750,6 +750,14 @@ enum rt2x00_capability_flags { - }; - - /* -+ * Interface combinations -+ */ -+enum { -+ IF_COMB_AP = 0, -+ NUM_IF_COMB, -+}; -+ -+/* - * rt2x00 device structure. - */ - struct rt2x00_dev { -@@ -876,6 +884,12 @@ struct rt2x00_dev { - unsigned int intf_beaconing; - - /* -+ * Interface combinations -+ */ -+ struct ieee80211_iface_limit if_limits_ap; -+ struct ieee80211_iface_combination if_combinations[NUM_IF_COMB]; -+ -+ /* - * Link quality - */ - struct link link; ---- a/drivers/net/wireless/rt2x00/rt2x00dev.c -+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c -@@ -1146,6 +1146,34 @@ void rt2x00lib_stop(struct rt2x00_dev *r - rt2x00dev->intf_associated = 0; - } - -+static inline void rt2x00lib_set_if_combinations(struct rt2x00_dev *rt2x00dev) -+{ -+ struct ieee80211_iface_limit *if_limit; -+ struct ieee80211_iface_combination *if_combination; -+ -+ /* -+ * Build up AP interface limits structure. -+ */ -+ if_limit = &rt2x00dev->if_limits_ap; -+ if_limit->max = rt2x00dev->ops->max_ap_intf; -+ if_limit->types = BIT(NL80211_IFTYPE_AP); -+ -+ /* -+ * Build up AP interface combinations structure. -+ */ -+ if_combination = &rt2x00dev->if_combinations[IF_COMB_AP]; -+ if_combination->limits = if_limit; -+ if_combination->n_limits = 1; -+ if_combination->max_interfaces = if_limit->max; -+ if_combination->num_different_channels = 1; -+ -+ /* -+ * Finally, specify the possible combinations to mac80211. -+ */ -+ rt2x00dev->hw->wiphy->iface_combinations = rt2x00dev->if_combinations; -+ rt2x00dev->hw->wiphy->n_iface_combinations = 1; -+} -+ - /* - * driver allocation handlers. - */ -@@ -1165,6 +1193,11 @@ int rt2x00lib_probe_dev(struct rt2x00_de - } - } - -+ /* -+ * Set possible interface combinations. -+ */ -+ rt2x00lib_set_if_combinations(rt2x00dev); -+ - spin_lock_init(&rt2x00dev->irqmask_lock); - mutex_init(&rt2x00dev->csr_mutex); - ---- a/drivers/net/wireless/rt2x00/rt2x00mac.c -+++ b/drivers/net/wireless/rt2x00/rt2x00mac.c -@@ -243,10 +243,9 @@ int rt2x00mac_add_interface(struct ieee8 - return -ENOBUFS; - - /* -- * Check if we exceeded the maximum amount -- * of supported interfaces. -+ * We don't support multiple STA interfaces. - */ -- if (rt2x00dev->intf_sta_count >= rt2x00dev->ops->max_sta_intf) -+ if (rt2x00dev->intf_sta_count) - return -ENOBUFS; - - break; |