wifi: brcmfmac: Use ISO3166 country code and rev 0 as fallback on 4356
authorHans de Goede <hdegoede@redhat.com>
Fri, 3 Mar 2023 22:23:31 +0000 (23:23 +0100)
committerKalle Valo <kvalo@kernel.org>
Mon, 13 Mar 2023 13:43:00 +0000 (15:43 +0200)
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
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

index e0a70a671550c83311c076e61490fcb4f5ae1180..548799fefb4bff03f8233062a385a26d4caf0579 100644 (file)
@@ -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: