Revert "brcmfmac: use ISO3166 country code and 0 rev as fallback"
Subsystems (4)
PATCH 1/1 Revert "brcmfmac: use ISO3166 country code and 0 rev as fallback"
This reverts commit b0b524f079a23e440dd22b04e369368dde847533.
Commit b0b524f079a2 ("brcmfmac: use ISO3166 country code and 0 rev as fallback") changes country setup to directly use ISO3166 country codes if no more specific code is configured. This was done under the assumption that brcmfmac firmwares can handle such simple direct mapping from country codes to firmware ccode values.
Unfortunately this is not true for all chipset/firmware combinations. E.g. BCM4359/9 devices stop working as access point with this change, so revert the offending commit to avoid the regression.
--
Cc: Shawn Guo <[email protected]>
Cc: Arend van Spriel <[email protected]>
Cc: Franky Lin <[email protected]>
Cc: Hante Meuleman <[email protected]>
Cc: Chi-hsien Lin <[email protected]>
Cc: Wright Feng <[email protected]>
Cc: Chung-hsien Hsu <[email protected]>
Cc: Kalle Valo <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
--- .../broadcom/brcm80211/brcmfmac/cfg80211.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +6 -11
@@ -7463,23 +7463,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2],s32 found_index;int i; + country_codes = drvr->settings->country_codes; +if (!country_codes) { +brcmf_dbg (TRACE ,"No country codes configured for device\n" ); +return -EINVAL ; + } +if ((alpha2[0 ] == ccreq->country_abbrev[0 ]) && (alpha2[1 ] == ccreq->country_abbrev[1 ])) {brcmf_dbg (TRACE ,"Country code already set\n" );return -EAGAIN ; } - country_codes = drvr->settings->country_codes; -if (!country_codes) { -brcmf_dbg (TRACE ,"No country codes configured for device, using ISO3166 code and 0 rev\n" ); -memset (ccreq,0 ,sizeof (*ccreq)); - ccreq->country_abbrev[0 ] = alpha2[0 ]; - ccreq->country_abbrev[1 ] = alpha2[1 ]; - ccreq->ccode[0 ] = alpha2[0 ]; - ccreq->ccode[1 ] = alpha2[1 ]; -return 0 ; - } - found_index =-1 ;for (i =0 ; i < country_codes->table_size; i++) { cc = &country_codes->table[i];
--
2.25.1
Quoted 8 lines · Soeren Moch
This reverts commit
b0b524f079a23e440dd22b04e369368dde847533.Commit
b0b524f079a2("brcmfmac: use ISO3166 country code and 0 rev as fallback") changes country setup to directly use ISO3166 country codes if no more specific code is configured. This was done under the assumption that brcmfmac firmwares can handle such simple direct mapping from country codes to firmware ccode values.
Quoted 6 lines
Unfortunately this is not true for all chipset/firmware combinations. E.g. BCM4359/9 devices stop working as access point with this change, so revert the offending commit to avoid the regression.
Signed-off-by Soeren Moch <[email protected]>Cc [email protected] # 5.14.x
Quoted 8 lines · Soeren Moch
This reverts commit
b0b524f079a23e440dd22b04e369368dde847533.Commit
b0b524f079a2("brcmfmac: use ISO3166 country code and 0 rev as fallback") changes country setup to directly use ISO3166 country codes if no more specific code is configured. This was done under the assumption that brcmfmac firmwares can handle such simple direct mapping from country codes to firmware ccode values.
Quoted 7 lines
Unfortunately this is not true for all chipset/firmware combinations. E.g. BCM4359/9 devices stop working as access point with this change, so revert the offending commit to avoid the regression.
Signed-off-by Soeren Moch <[email protected]>Cc [email protected] # 5.14.xAcked-by Shawn Guo <[email protected]>
Patch applied to wireless-drivers.git, thanks.
151a7c12c4fc Revert "brcmfmac: use ISO3166 country code and 0 rev as fallback"
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches