• Sven Eckelmann's avatar
    ath11k: Fix number of rules in filtered ETSI regdomain · 6189be7d
    Sven Eckelmann authored
    The ath11k code will try to insert wheather rader related limits when the
    DFS region is set to ETSI. For this reason, it will add two more entries in
    the array of reg_rules. But the 2.4.0.1 firmware is prefiltering the list
    of reg rules it returns for 2.4GHz PHYs. They will then not contain the
    list of 5GHz rules and thus no wheather radar band rules were inserted by
    this code.
    
    But the code didn't fix the n_reg_rules for this regulatory domain and PHY
    when this happened. This resulted in a rejection by is_valid_rd because it
    found rules which start and end at 0khz. This resulted in a splat like:
    
      Invalid regulatory domain detected
      ------------[ cut here ]------------
      WARNING: at backports-20200628-4.4.60-9a94b73e75/net/wireless/reg.c:3721
      [...]
      ath11k c000000.wifi1: failed to perform regd update : -22
    
    The number of rules must therefore be saved after they were converted from
    the ath11k format to the ieee80211_regdomain format and not before.
    
    Tested with IPQ8074 WLAN.HK.2.4.0.1.r1-00019-QCAHKSWPL_SILICONZ-1
    
    Fixes: d5c65159 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
    Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20201030101940.2387952-1-sven@narfation.org
    6189be7d
reg.c 18.7 KB