rt2x00: prevent device probe errors with CONFIG_MAC80211_MESH disabled (#13080)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35806 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2013-02-26 15:14:32 +00:00
parent 1ac0a747b6
commit 0e17e9789f
2 changed files with 27 additions and 2 deletions

View File

@ -512,3 +512,28 @@
if (!ath9k_hw_set_reset_reg(ah, reset_type)) if (!ath9k_hw_set_reset_reg(ah, reset_type))
return false; 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;

View File

@ -244,7 +244,7 @@
.get_entry_state = rt2800pci_get_entry_state, .get_entry_state = rt2800pci_get_entry_state,
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c --- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/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; rt2x00dev->hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
@ -255,7 +255,7 @@
/* /*
* Initialize work. * 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) if (rt2x00dev->drv_data)
kfree(rt2x00dev->drv_data); kfree(rt2x00dev->drv_data);