If more than 255 colocated APs exist for the set of all
APs found during 2.4/5 GHz scanning, then the 6 GHz scan
construction will loop forever since the loop variable
has type u8, which can never reach the number found when
that's bigger than 255, and is stored in a u32 variable.
Also move it into the loops to have a smaller scope.
Using a u32 there is fine, we limit the number of APs in
the scan list and each has a limit on the number of RNR
entries due to the frame size. With a limit of 1000 scan
results, a frame size upper bound of 4096 (really it's
more like ~2300) and a TBTT entry size of at least 11,
we get an upper bound for the number of ~372k, well in
the bounds of a u32.
Cc: stable@vger.kernel.org
Fixes:
|
||
|---|---|---|
| .. | ||
| cfg | ||
| dvm | ||
| fw | ||
| mei | ||
| mvm | ||
| pcie | ||
| tests | ||
| iwl-agn-hw.h | ||
| iwl-config.h | ||
| iwl-context-info-gen3.h | ||
| iwl-context-info.h | ||
| iwl-csr.h | ||
| iwl-dbg-tlv.c | ||
| iwl-dbg-tlv.h | ||
| iwl-debug.c | ||
| iwl-debug.h | ||
| iwl-devtrace-data.h | ||
| iwl-devtrace-io.h | ||
| iwl-devtrace-iwlwifi.h | ||
| iwl-devtrace-msg.h | ||
| iwl-devtrace-ucode.h | ||
| iwl-devtrace.c | ||
| iwl-devtrace.h | ||
| iwl-drv.c | ||
| iwl-drv.h | ||
| iwl-fh.h | ||
| iwl-io.c | ||
| iwl-io.h | ||
| iwl-modparams.h | ||
| iwl-nvm-parse.c | ||
| iwl-nvm-parse.h | ||
| iwl-nvm-utils.c | ||
| iwl-nvm-utils.h | ||
| iwl-op-mode.h | ||
| iwl-phy-db.c | ||
| iwl-phy-db.h | ||
| iwl-prph.h | ||
| iwl-scd.h | ||
| iwl-trans.c | ||
| iwl-trans.h | ||
| Kconfig | ||
| Makefile | ||