linux_dsm_epyc7002/drivers/net/wireless
Hante Meuleman 19c8f421a6 brcmfmac: Increase nr of supported flowrings.
New generation devices have firmware which has more than 256 flowrings.
E.g. following debugging message comes from 14e4:4365 BCM4366:
[  194.606245] brcmfmac: brcmf_pcie_init_ringbuffers Nr of flowrings is 264

At various code places (related to flowrings) we were using u8 which
could lead to storing wrong number or infinite loops when indexing with
this type. This issue was quite easy to spot in brcmf_flowring_detach
where it led to infinite loop e.g. on failed initialization.

This patch switches code to proper types and increases the maximum
number of supported flowrings to 512.

Originally this change was sent in September 2015, but back it was
causing a regression on BCM43602 resulting in:
Unable to handle kernel NULL pointer dereference at virtual address ...

The reason for this regression was missing update (s/u8/u16) of struct
brcmf_flowring_ring. This problem was handled in 9f64df9 ("brcmfmac: Fix
bug in flowring management."). Starting with that it's safe to apply
this original patch as it doesn't cause a regression anymore.

This patch fixes an infinite loop on BCM4366 which is supported since
4.4 so it makes sense to apply it to stable 4.4+.

Cc: <stable@vger.kernel.org> # 4.4+
Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2016-02-25 11:59:22 +02:00
..
admtek adm80211: move under admtek vendor directory 2015-11-17 19:49:19 +02:00
ath Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-02-01 15:56:08 -08:00
atmel atmel: move under atmel vendor directory 2015-11-18 11:19:07 +02:00
broadcom brcmfmac: Increase nr of supported flowrings. 2016-02-25 11:59:22 +02:00
cisco wireless: airo: re-use mac_pton() 2015-11-30 14:59:28 +02:00
intel Major changes: 2016-02-16 20:38:29 -05:00
intersil hostap: avoid uninitialized variable use in hfa384x_get_rid 2016-02-06 13:59:24 +02:00
marvell mwifiex: firmware dump support for w8997 chipset 2016-02-07 09:15:44 +02:00
mediatek mediatek: unify Kconfig with other vendors 2015-11-18 14:28:31 +02:00
ralink Major changes: 2016-02-16 20:38:29 -05:00
realtek rtl8xxxu: Add missing bit define for REG_APS_FSMCO 2016-02-25 11:55:44 +02:00
rsi rsi: bool tests do not need comparison 2015-12-30 17:34:26 +02:00
st cw1200: remove some dead code 2015-12-11 13:15:08 +02:00
ti wlcore: fix error handling in wlcore_event_fw_logger 2016-01-29 11:14:57 +02:00
zydas zd1211rw: move under zydas vendor directory 2015-11-18 14:28:30 +02:00
Kconfig mac80211_hwsim: move Kconfig entry for sorting alphabetically 2015-11-18 15:23:36 +02:00
mac80211_hwsim.c Revert "mac80211_hwsim: support any address in userspace" 2016-01-14 11:10:17 +01:00
mac80211_hwsim.h
Makefile ath: unify Kconfig with other vendors 2015-11-18 14:28:31 +02:00
ray_cs.c ray_cs: Change 1 to true for bool type variable. 2015-06-02 23:30:14 +03:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: fix checking for default value 2015-09-22 16:14:32 -07:00
wl3501_cs.c
wl3501.h