WRT3200ACM and WRT32x routers always report a fixed US regulatory domain from the mwifiex ROM, which conflicts with the platform regulatory configuration on units sold outside the US market. For example: - phy0 mwlwifi 5 GHz, hard-coded region 98 EU mapped to FR - phy1 mwlwifi 2.4 GHz, hard-coded region 98 EU mapped to FR - phy2 mwifiex 2.4 and 5 GHz, hard-coded region US When the system boots, it detects a conflict between the user selected region and the radios, e.g. BG FR US, and applies extreme restrictions, preventing use of 5 GHz and DFS channels. This also affects phy0. Add a flag marvell,ignore-regulatory-hint to the WRT3200ACM device-tree, which signals mwifiex to ignore an incorrect regulatory hint from ROM, so userspace can set the correct platform regulatory domain. The radios in WRT3200ACM/WRT32x are locked to the hard-coded configuration for which they are certified, so the only impact is that the region conflict is avoided and the 5 GHz radios can be used. The Linux kernel sources do not have support for WRT32x. An equivalent patch for these routers has to be sent to OpenWrt. [1] https://github.com/kaloz/mwlwifi/issues/173#issuecomment-307879699 [2] https://github.com/openwrt/openwrt/issues/9956 Tested-on: WRT3200ACM, OpenWrt, make dt_binding_check: pass Cc: stable@vger.kernel.org Signed-off-by: Georgi Valkov --- arch/arm/boot/dts/marvell/armada-385-linksys-rango.dts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/boot/dts/marvell/armada-385-linksys-rango.dts b/arch/arm/boot/dts/marvell/armada-385-linksys-rango.dts index 4ab45f294de2..c5f94463ef71 100644 --- a/arch/arm/boot/dts/marvell/armada-385-linksys-rango.dts +++ b/arch/arm/boot/dts/marvell/armada-385-linksys-rango.dts @@ -165,6 +165,12 @@ &sdhci { wp-inverted; bus-width = <8>; status = "okay"; + + wifi@1 { + compatible = "marvell,sd8897"; + reg = <1>; + marvell,ignore-regulatory-hint; + }; }; &usb3_1_vbus { -- 2.55.0