|
@@ -2492,6 +2492,12 @@ mwifiex_update_chan_statistics(struct mwifiex_private *priv,
|
|
sizeof(struct mwifiex_chan_stats);
|
|
sizeof(struct mwifiex_chan_stats);
|
|
|
|
|
|
for (i = 0 ; i < num_chan; i++) {
|
|
for (i = 0 ; i < num_chan; i++) {
|
|
|
|
+ if (adapter->survey_idx >= adapter->num_in_chan_stats) {
|
|
|
|
+ mwifiex_dbg(adapter, WARN,
|
|
|
|
+ "FW reported too many channel results (max %d)\n",
|
|
|
|
+ adapter->num_in_chan_stats);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
chan_stats.chan_num = fw_chan_stats->chan_num;
|
|
chan_stats.chan_num = fw_chan_stats->chan_num;
|
|
chan_stats.bandcfg = fw_chan_stats->bandcfg;
|
|
chan_stats.bandcfg = fw_chan_stats->bandcfg;
|
|
chan_stats.flags = fw_chan_stats->flags;
|
|
chan_stats.flags = fw_chan_stats->flags;
|