rt2x00: prevent device probe errors with CONFIG_MAC80211_MESH disabled (#13080)
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 26 Feb 2013 15:14:32 +0000 (15:14 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 26 Feb 2013 15:14:32 +0000 (15:14 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35806 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/patches/300-pending_work.patch
package/mac80211/patches/603-rt2x00-introduce-rt2x00eeprom.patch

index 51da3cf..1bc32a0 100644 (file)
  
        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;
index 64f39cd..07e72e3 100644 (file)
        .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;
  
        /*
         * 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);