ath: add support for special 0x0 regulatory domain
authorWen Gong <wgong@codeaurora.org>
Fri, 29 Nov 2019 07:34:09 +0000 (07:34 +0000)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 2 Dec 2019 10:08:01 +0000 (12:08 +0200)
commit2dc016599cfa9672a147528ca26d70c3654a5423
tree37b20ed7960cf03852c0fcd362a8ecd29970e1a0
parent4a99124516307e0fc4ed7517c0af796091a159d5
ath: add support for special 0x0 regulatory domain

Some sdio chips of rome QCA6174's regulatory domain code of EEPROM is
empty, then ath_is_world_regd will return false for this case, and
it will lead function __ath_reg_dyn_country not work, thus the regdomain
will not update for NL80211_REGDOM_SET_BY_COUNTRY_IE type, it result
ath10k set the same regdomain/reg_5ghz_ctl/reg_2ghz_ctl to firmware,
then the tx power will not changed with different regdomain's AP. The
regulatory domain code of EEPROM of some QCA6174 PCIE chip is 0x6c, it
means world wide regdomain, for this chip, it does not have the issue.

For empty reulatory domain code chip, set it to world regulatory domain
in functio ath_regd_sanitize, then it will fix the issue.

Tested with QCA6174 SDIO with firmware
WLAN.RMH.4.4.1-00029.

Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/regd.c