ath10k: fix survey reporting
Number of channels is stored in a separate macro
in a header file and channel list is constructed
independently. The macro is used to define survey
array.
This fixes a recent regression introduced after
adding support for 144 channel. The regression
would lead to a warning and incomplete survey data
on channel 165:
chan info: invalid frequency 5825 (idx 38 out of bounds)
Also make sure to enforce the sizes and avoid this
kind of problem in the future.
Fixes: 4a7898fed5
("ath10k: enable channel 144 on 5GHz band")
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
9eea56895f
commit
c94aa7ef46
|
@ -45,7 +45,7 @@
|
||||||
#define WMI_READY_TIMEOUT (5 * HZ)
|
#define WMI_READY_TIMEOUT (5 * HZ)
|
||||||
#define ATH10K_FLUSH_TIMEOUT_HZ (5*HZ)
|
#define ATH10K_FLUSH_TIMEOUT_HZ (5*HZ)
|
||||||
#define ATH10K_CONNECTION_LOSS_HZ (3*HZ)
|
#define ATH10K_CONNECTION_LOSS_HZ (3*HZ)
|
||||||
#define ATH10K_NUM_CHANS 38
|
#define ATH10K_NUM_CHANS 39
|
||||||
|
|
||||||
/* Antenna noise floor */
|
/* Antenna noise floor */
|
||||||
#define ATH10K_DEFAULT_NOISE_FLOOR -95
|
#define ATH10K_DEFAULT_NOISE_FLOOR -95
|
||||||
|
|
|
@ -6016,6 +6016,10 @@ int ath10k_mac_register(struct ath10k *ar)
|
||||||
ht_cap = ath10k_get_ht_cap(ar);
|
ht_cap = ath10k_get_ht_cap(ar);
|
||||||
vht_cap = ath10k_create_vht_cap(ar);
|
vht_cap = ath10k_create_vht_cap(ar);
|
||||||
|
|
||||||
|
BUILD_BUG_ON((ARRAY_SIZE(ath10k_2ghz_channels) +
|
||||||
|
ARRAY_SIZE(ath10k_5ghz_channels)) !=
|
||||||
|
ATH10K_NUM_CHANS);
|
||||||
|
|
||||||
if (ar->phy_capability & WHAL_WLAN_11G_CAPABILITY) {
|
if (ar->phy_capability & WHAL_WLAN_11G_CAPABILITY) {
|
||||||
channels = kmemdup(ath10k_2ghz_channels,
|
channels = kmemdup(ath10k_2ghz_channels,
|
||||||
sizeof(ath10k_2ghz_channels),
|
sizeof(ath10k_2ghz_channels),
|
||||||
|
|
Loading…
Reference in New Issue