Search Linux Wireless

Re: [PATCH 2/3] brcmfmac: return error when getting invalid max_flowrings from dongle

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/29/2022 5:10 AM, Ian Lin wrote:
From: Wright Feng <wright.feng@xxxxxxxxxxx>

When firmware hit trap at initialization, host will read abnormal
max_flowrings number from dongle, and it will cause kernel panic when
doing iowrite to initialize dongle ring.
To detect this error at early stage, we directly return error when getting
invalid max_flowrings(>256).

Signed-off-by: Wright Feng <wright.feng@xxxxxxxxxxx>
Signed-off-by: Chi-hsien Lin <chi-hsien.lin@xxxxxxxxxxx>
Signed-off-by: Ian Lin <ian.lin@xxxxxxxxxxxx>
---
  drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
index 2b7ebbd7b5b4..1becd50038ab 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
@@ -1228,6 +1228,10 @@ static int brcmf_pcie_init_ringbuffers(struct brcmf_pciedev_info *devinfo)
  				BRCMF_NROF_H2D_COMMON_MSGRINGS;
  		max_completionrings = BRCMF_NROF_D2H_COMMON_MSGRINGS;
  	}
+	if (max_flowrings > 256) {
This limit is a bit of a magic value. I do know there are chipsets that support more that 256 flowrings so this is a hard limitation. I should really get the multi-vendor support in place so we can have the limitation only for Infineon/Cypress chips. I will try to revive that thread.

Regards,
Arend



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux