diff mbox series

wifi: brcmfmac: use random seed flag for BCM4355 and BCM4364 firmware

Message ID 47E43F07-E11D-478C-86D4-23627154AC7C@live.com (mailing list archive)
State New
Delegated to: Kalle Valo
Headers show
Series wifi: brcmfmac: use random seed flag for BCM4355 and BCM4364 firmware | expand

Commit Message

Aditya Garg Jan. 20, 2025, 4:50 p.m. UTC
From: Aditya Garg <gargaditya08@live.com>

Before 6.13, random seed to the firmware was given based on the logic
whether the device had valid OTP or not, and such devices were found
mainly on the T2 and Apple Silicon Macs. In 6.13, the logic was changed,
and the device table was used for this purpose, so as to cover the special
case of BCM43752 chip.

During the transition, the device table for BCM4364 and BCM4355 Wi-Fi chips
which had valid OTP was not modified, thus breaking Wi-Fi on these devices.
This patch adds does the necessary changes, similar to the ones done for
other chips.

Fixes: ea11a89c3ac6 ("wifi: brcmfmac: add flag for random seed during firmware download")
Cc: stable@vger.kernel.org
Signed-off-by: Aditya Garg <gargaditya08@live.com>
---
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Arend Van Spriel Jan. 20, 2025, 5:36 p.m. UTC | #1
On January 20, 2025 5:50:56 PM Aditya Garg <gargaditya08@live.com> wrote:

> From: Aditya Garg <gargaditya08@live.com>
>
> Before 6.13, random seed to the firmware was given based on the logic
> whether the device had valid OTP or not, and such devices were found
> mainly on the T2 and Apple Silicon Macs. In 6.13, the logic was changed,
> and the device table was used for this purpose, so as to cover the special
> case of BCM43752 chip.
>
> During the transition, the device table for BCM4364 and BCM4355 Wi-Fi chips
> which had valid OTP was not modified, thus breaking Wi-Fi on these devices.
> This patch adds does the necessary changes, similar to the ones done for
> other chips.
>
> Fixes: ea11a89c3ac6 ("wifi: brcmfmac: add flag for random seed during 
> firmware download")
> Cc: stable@vger.kernel.org

Acked-by: Arend van Spriel  <arend.vanspriel@broadcom.com>
> Signed-off-by: Aditya Garg <gargaditya08@live.com>
> ---
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Kalle Valo Jan. 20, 2025, 6:01 p.m. UTC | #2
Arend Van Spriel <arend.vanspriel@broadcom.com> writes:

> On January 20, 2025 5:50:56 PM Aditya Garg <gargaditya08@live.com> wrote:
>
>> From: Aditya Garg <gargaditya08@live.com>
>>
>> Before 6.13, random seed to the firmware was given based on the logic
>> whether the device had valid OTP or not, and such devices were found
>> mainly on the T2 and Apple Silicon Macs. In 6.13, the logic was changed,
>> and the device table was used for this purpose, so as to cover the special
>> case of BCM43752 chip.
>>
>> During the transition, the device table for BCM4364 and BCM4355 Wi-Fi chips
>> which had valid OTP was not modified, thus breaking Wi-Fi on these devices.
>> This patch adds does the necessary changes, similar to the ones done for
>> other chips.
>>
>> Fixes: ea11a89c3ac6 ("wifi: brcmfmac: add flag for random seed
>> during firmware download")
>> Cc: stable@vger.kernel.org
>
> Acked-by: Arend van Spriel  <arend.vanspriel@broadcom.com>

I'll queue this to wireless tree for v6.14.
diff mbox series

Patch

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
index e4395b1f8..d2caa80e9 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
@@ -2712,7 +2712,7 @@  static const struct pci_device_id brcmf_pcie_devid_table[] = {
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_4350_DEVICE_ID, WCC),
 	BRCMF_PCIE_DEVICE_SUB(0x4355, BRCM_PCIE_VENDOR_ID_BROADCOM, 0x4355, WCC),
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_4354_RAW_DEVICE_ID, WCC),
-	BRCMF_PCIE_DEVICE(BRCM_PCIE_4355_DEVICE_ID, WCC),
+	BRCMF_PCIE_DEVICE(BRCM_PCIE_4355_DEVICE_ID, WCC_SEED),
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_4356_DEVICE_ID, WCC),
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_43567_DEVICE_ID, WCC),
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_43570_DEVICE_ID, WCC),
@@ -2723,7 +2723,7 @@  static const struct pci_device_id brcmf_pcie_devid_table[] = {
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_2G_DEVICE_ID, WCC),
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_5G_DEVICE_ID, WCC),
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_43602_RAW_DEVICE_ID, WCC),
-	BRCMF_PCIE_DEVICE(BRCM_PCIE_4364_DEVICE_ID, WCC),
+	BRCMF_PCIE_DEVICE(BRCM_PCIE_4364_DEVICE_ID, WCC_SEED),
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_DEVICE_ID, BCA),
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_2G_DEVICE_ID, BCA),
 	BRCMF_PCIE_DEVICE(BRCM_PCIE_4365_5G_DEVICE_ID, BCA),