From 325cb65009b894184c8f45dc7a126e5b22ddf5e3 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 26 Feb 2013 15:14:32 +0000 Subject: [PATCH] rt2x00: prevent device probe errors with CONFIG_MAC80211_MESH disabled (#13080) SVN-Revision: 35806 --- .../mac80211/patches/300-pending_work.patch | 25 +++++++++++++++++++ .../603-rt2x00-introduce-rt2x00eeprom.patch | 4 +-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch index 51da3cf84d..1bc32a0671 100644 --- a/package/mac80211/patches/300-pending_work.patch +++ b/package/mac80211/patches/300-pending_work.patch @@ -512,3 +512,28 @@ if (!ath9k_hw_set_reset_reg(ah, reset_type)) return false; +--- a/drivers/net/wireless/rt2x00/rt2x00dev.c ++++ b/drivers/net/wireless/rt2x00/rt2x00dev.c +@@ -1236,8 +1236,10 @@ static inline void rt2x00lib_set_if_comb + */ + if_limit = &rt2x00dev->if_limits_ap; + if_limit->max = rt2x00dev->ops->max_ap_intf; +- if_limit->types = BIT(NL80211_IFTYPE_AP) | +- BIT(NL80211_IFTYPE_MESH_POINT); ++ if_limit->types = BIT(NL80211_IFTYPE_AP); ++#ifdef CONFIG_MAC80211_MESH ++ if_limit->types |= BIT(NL80211_IFTYPE_MESH_POINT); ++#endif + + /* + * Build up AP interface combinations structure. +@@ -1309,7 +1311,9 @@ int rt2x00lib_probe_dev(struct rt2x00_de + rt2x00dev->hw->wiphy->interface_modes |= + BIT(NL80211_IFTYPE_ADHOC) | + BIT(NL80211_IFTYPE_AP) | ++#ifdef CONFIG_MAC80211_MESH + BIT(NL80211_IFTYPE_MESH_POINT) | ++#endif + BIT(NL80211_IFTYPE_WDS); + + rt2x00dev->hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN; diff --git a/package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch b/package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch index 64f39cdd3c..07e72e39f4 100644 --- a/package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch +++ b/package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch @@ -244,7 +244,7 @@ .get_entry_state = rt2800pci_get_entry_state, --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c -@@ -1314,6 +1314,10 @@ int rt2x00lib_probe_dev(struct rt2x00_de +@@ -1318,6 +1318,10 @@ int rt2x00lib_probe_dev(struct rt2x00_de rt2x00dev->hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN; @@ -255,7 +255,7 @@ /* * Initialize work. */ -@@ -1438,6 +1442,11 @@ void rt2x00lib_remove_dev(struct rt2x00_ +@@ -1442,6 +1446,11 @@ void rt2x00lib_remove_dev(struct rt2x00_ */ if (rt2x00dev->drv_data) kfree(rt2x00dev->drv_data);