--- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "rt2x00.h" #include "rt2x00lib.h" @@ -951,6 +952,16 @@ static int rt2x00lib_probe_hw_modes(stru struct ieee80211_rate *rates; unsigned int num_rates; unsigned int i; +#ifdef CONFIG_OF + struct device_node *np = rt2x00dev->dev->of_node; + unsigned int enabled; + if (!of_property_read_u32(np, "ralink,2ghz", + &enabled) && !enabled) + spec->supported_bands &= ~SUPPORT_BAND_2GHZ; + if (!of_property_read_u32(np, "ralink,5ghz", + &enabled) && !enabled) + spec->supported_bands &= ~SUPPORT_BAND_5GHZ; +#endif /* CONFIG_OF */ if (rt2x00dev->dev->platform_data) { struct rt2x00_platform_data *pdata;