summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/broadcom
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2023-03-03 23:23:31 +0100
committerKalle Valo <kvalo@kernel.org>2023-03-13 15:43:00 +0200
commit659fda7f35f0d11126edfb6c6cd9ace99a2525c0 (patch)
tree3e8713ff7a9eedab28edfa153aa42a084c4a109c /drivers/net/wireless/broadcom
parent298e50ad8eb8fa12ea68bb2da45bb8ef4edcd0ec (diff)
downloadlinux-stable-659fda7f35f0d11126edfb6c6cd9ace99a2525c0.tar.gz
linux-stable-659fda7f35f0d11126edfb6c6cd9ace99a2525c0.tar.bz2
linux-stable-659fda7f35f0d11126edfb6c6cd9ace99a2525c0.zip
wifi: brcmfmac: Use ISO3166 country code and rev 0 as fallback on 4356
Many devices ship with a nvram ccode value of X2/XT/XU/XV/ALL which are all special world-wide compatibility ccode-s. Most of these world-wide ccode-s allow passive scan mode only for 2.4GHz channels 12-14, only enabling them when an AP is seen on them. Since linux-firmware has moved to the new cyfmac4356-pci.bin + cyfmac4356-pci.clm_blob firmware files this no longer works and 4356 devices using e.g. an X2 ccode fail to connect to an AP on channel 13. Add the 4356 chip-id to the list of chips for which to use the ISO3166 country code + rev 0 as fallback in brcmf_translate_country_code() to fix this. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230303222331.285663-1-hdegoede@redhat.com
Diffstat (limited to 'drivers/net/wireless/broadcom')
-rw-r--r--drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
index e0a70a671550..548799fefb4b 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
@@ -7881,6 +7881,7 @@ static bool brmcf_use_iso3166_ccode_fallback(struct brcmf_pub *drvr)
switch (drvr->bus_if->chip) {
case BRCM_CC_43430_CHIP_ID:
case BRCM_CC_4345_CHIP_ID:
+ case BRCM_CC_4356_CHIP_ID:
case BRCM_CC_43602_CHIP_ID:
return true;
default: