diff --git a/8004-workaround-disable-D3-for-BCM4377b.patch b/8004-workaround-disable-D3-for-BCM4377b.patch new file mode 100644 index 0000000..973e7d5 --- /dev/null +++ b/8004-workaround-disable-D3-for-BCM4377b.patch @@ -0,0 +1,28 @@ +diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +index 8b149996f..78f2cc7c1 100644 +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +@@ -2022,6 +2022,11 @@ static int brcmf_pcie_pm_enter_D3(struct device *dev) + bus = dev_get_drvdata(dev); + devinfo = bus->bus_priv.pcie->devinfo; + ++ if(devinfo->ci->chip == BRCM_CC_4377_CHIP_ID) { ++ brcmf_dbg(PCIE, "Skip enter D3 for 4377, remember to rfkill block before this\n"); ++ return 0; ++ } ++ + brcmf_bus_change_state(bus, BRCMF_BUS_DOWN); + + devinfo->mbdata_completed = false; +@@ -2054,6 +2059,11 @@ static int brcmf_pcie_pm_leave_D3(struct device *dev) + devinfo = bus->bus_priv.pcie->devinfo; + brcmf_dbg(PCIE, "Enter, dev=%p, bus=%p\n", dev, bus); + ++ if(devinfo->ci->chip == BRCM_CC_4377_CHIP_ID) { ++ brcmf_dbg(PCIE, "Skip leave D3 for 4377, remember to rfkill unblock after this\n"); ++ return 0; ++ } ++ + /* Check if device is still up and running, if so we are ready */ + if (brcmf_pcie_read_reg32(devinfo, BRCMF_PCIE_PCIE2REG_INTMASK) != 0) { + brcmf_dbg(PCIE, "Try to wakeup device....\n"); diff --git a/PKGBUILD b/PKGBUILD index d12e6ef..b0c1327 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -59,6 +59,7 @@ source=( 8001-corellium-wifi-bigsur.patch 8002-Add-support-for-BCM4377.patch 8003-Add-support-for-BCM4355.patch + 8004-workaround-disable-D3-for-BCM4377b.patch 9001-bluetooth-add-disable-read-tx-power-quirk.patch 9002-add-bluetooth-support-for-16,2.patch @@ -265,6 +266,7 @@ sha256sums=('57b2cf6991910e3b67a1b3490022e8a0674b6965c74c12da1e99d138d1991ee8' '66e91a3c4616a6c1dfaade969c78f8b3799006d208ac5b5ef314589ba684afce' '8f5f6321d90a2c4e753d993e5ec5c8ad78ddb4415f5306117b40f40dd9e42af2' 'e9e564bdd8f45c552c0f1b32ffa142c887f449f9aadcd190f8d7d143c7567259' + 'f7ae3714acad6190bd8ec49ec02640bcd03e1e089426187ba293298cfa158068' '31e414978a947bdb71f27ed364c4da73b81fcf1921250cb69ee1bcf2bbd25636' '57731fa10509eb689649e6d1ea33b2c3e20a8116617bd848b565d42379b2b6b6' '22b2695afcc4103743e55ceeda4691a59ddce84a8f16d1d572159dd2ff7f8537')