34 lines
1 KiB
Diff
34 lines
1 KiB
Diff
|
--- a/drivers/net/wireless/ath/ath9k/hw.h
|
||
|
+++ b/drivers/net/wireless/ath/ath9k/hw.h
|
||
|
@@ -61,6 +61,8 @@
|
||
|
|
||
|
#define ATH9K_RSSI_BAD -128
|
||
|
|
||
|
+#define ATH9K_NUM_CHANNELS 38
|
||
|
+
|
||
|
/* Register read/write primitives */
|
||
|
#define REG_WRITE(_ah, _reg, _val) \
|
||
|
ath9k_hw_common(_ah)->ops->write((_ah), (_val), (_reg))
|
||
|
@@ -618,7 +620,7 @@ struct ath_hw {
|
||
|
struct ath9k_hw_version hw_version;
|
||
|
struct ath9k_ops_config config;
|
||
|
struct ath9k_hw_capabilities caps;
|
||
|
- struct ath9k_channel channels[38];
|
||
|
+ struct ath9k_channel channels[ATH9K_NUM_CHANNELS];
|
||
|
struct ath9k_channel *curchan;
|
||
|
|
||
|
union {
|
||
|
--- a/drivers/net/wireless/ath/ath9k/init.c
|
||
|
+++ b/drivers/net/wireless/ath/ath9k/init.c
|
||
|
@@ -482,6 +482,10 @@ static int ath9k_init_channels_rates(str
|
||
|
{
|
||
|
void *channels;
|
||
|
|
||
|
+ BUILD_BUG_ON(ARRAY_SIZE(ath9k_2ghz_chantable) +
|
||
|
+ ARRAY_SIZE(ath9k_5ghz_chantable) !=
|
||
|
+ ATH9K_NUM_CHANNELS);
|
||
|
+
|
||
|
if (test_bit(ATH9K_MODE_11G, sc->sc_ah->caps.wireless_modes)) {
|
||
|
channels = kmemdup(ath9k_2ghz_chantable,
|
||
|
sizeof(ath9k_2ghz_chantable), GFP_KERNEL);
|