Skip to content

Commit 2aca4f3

Browse files
WenChieh-FengKalle Valo
authored andcommitted
brcmfmac: return error when getting invalid max_flowrings from dongle
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@cypress.com> Signed-off-by: Chi-hsien Lin <chi-hsien.lin@cypress.com> Signed-off-by: Ian Lin <ian.lin@infineon.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20220929031001.9962-3-ian.lin@infineon.com
1 parent dcb485d commit 2aca4f3

File tree

1 file changed

+4
-0
lines changed
  • drivers/net/wireless/broadcom/brcm80211/brcmfmac

1 file changed

+4
-0
lines changed

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1228,6 +1228,10 @@ static int brcmf_pcie_init_ringbuffers(struct brcmf_pciedev_info *devinfo)
12281228
BRCMF_NROF_H2D_COMMON_MSGRINGS;
12291229
max_completionrings = BRCMF_NROF_D2H_COMMON_MSGRINGS;
12301230
}
1231+
if (max_flowrings > 256) {
1232+
brcmf_err(bus, "invalid max_flowrings(%d)\n", max_flowrings);
1233+
return -EIO;
1234+
}
12311235

12321236
if (devinfo->dma_idx_sz != 0) {
12331237
bufsz = (max_submissionrings + max_completionrings) *

0 commit comments

Comments
 (0)