wifi: brcmfmac: Use ISO3166 country code and rev 0 as fallback on 43430
authorHans de Goede <hdegoede@redhat.com>
Wed, 10 Aug 2022 14:23:28 +0000 (16:23 +0200)
committerKalle Valo <kvalo@kernel.org>
Wed, 7 Sep 2022 07:57:57 +0000 (10:57 +0300)
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 cyfmac43430-sdio.bin +
cyfmac43430-sdio.clm_blob firmware files this no longer works and
43430 devices using e.g. an X2 ccode fail to connect to an AP on
channel 13.

Add the 43430 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/20220810142328.141030-1-hdegoede@redhat.com
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

index 7c72ea26a7d76d22c85a94ccc1d44535057fa182..3e8fa2e259aa08e26d769156896444fa679878a4 100644 (file)
@@ -7490,6 +7490,7 @@ static bool brmcf_use_iso3166_ccode_fallback(struct brcmf_pub *drvr)
                return true;
 
        switch (drvr->bus_if->chip) {
+       case BRCM_CC_43430_CHIP_ID:
        case BRCM_CC_4345_CHIP_ID:
        case BRCM_CC_43602_CHIP_ID:
                return true;