• Jonas Gorski's avatar
    mwl8k: don't overwrite regulatory settings on fw reload · c3f251a3
    Jonas Gorski authored
    Currently the caps are parsed on every firmware reload, causing any
    channel flags to be cleared.
    When there is a firmware to interface mode mismatch, the triggered
    firmware reload causes a reset of the regulatory settings, causing all
    channels to become available:
    
    root@openrouter:/# iw phy phy0 info
    Wiphy phy0
            Band 1:
    		(...)
                    Frequencies:
                            * 2412 MHz [1] (0.0 dBm)
                            * 2417 MHz [2] (0.0 dBm)
                            * 2422 MHz [3] (0.0 dBm)
                            * 2427 MHz [4] (0.0 dBm)
                            * 2432 MHz [5] (0.0 dBm)
                            * 2437 MHz [6] (0.0 dBm)
                            * 2442 MHz [7] (0.0 dBm)
                            * 2447 MHz [8] (0.0 dBm)
                            * 2452 MHz [9] (0.0 dBm)
                            * 2457 MHz [10] (0.0 dBm)
                            * 2462 MHz [11] (0.0 dBm)
                            * 2467 MHz [12] (0.0 dBm)
                            * 2472 MHz [13] (0.0 dBm)
                            * 2484 MHz [14] (0.0 dBm)
    		(...)
    
    To prevent this, only parse the caps on the first firmware load during
    hardware probe, and store them locally to know we have already parsed
    them.
    Signed-off-by: default avatarJonas Gorski <jogo@openwrt.org>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    c3f251a3
mwl8k.c 149 KB