diff options
| -rw-r--r-- | drivers/net/wireless/intel/iwlegacy/4965-rs.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/drivers/net/wireless/intel/iwlegacy/4965-rs.c b/drivers/net/wireless/intel/iwlegacy/4965-rs.c index 9dd2d890e35f..c62f299b9e0a 100644 --- a/drivers/net/wireless/intel/iwlegacy/4965-rs.c +++ b/drivers/net/wireless/intel/iwlegacy/4965-rs.c @@ -2403,7 +2403,7 @@ il4965_rs_fill_link_cmd(struct il_priv *il, struct il_lq_sta *lq_sta,  		/* Repeat initial/next rate.  		 * For legacy IL_NUMBER_TRY == 1, this loop will not execute.  		 * For HT IL_HT_NUMBER_TRY == 3, this executes twice. */ -		while (repeat_rate > 0 && idx < LINK_QUAL_MAX_RETRY_NUM) { +		while (repeat_rate > 0) {  			if (is_legacy(tbl_type.lq_type)) {  				if (ant_toggle_cnt < NUM_TRY_BEFORE_ANT_TOGGLE)  					ant_toggle_cnt++; @@ -2422,6 +2422,8 @@ il4965_rs_fill_link_cmd(struct il_priv *il, struct il_lq_sta *lq_sta,  			    cpu_to_le32(new_rate);  			repeat_rate--;  			idx++; +			if (idx >= LINK_QUAL_MAX_RETRY_NUM) +				goto out;  		}  		il4965_rs_get_tbl_info_from_mcs(new_rate, lq_sta->band, @@ -2466,6 +2468,7 @@ il4965_rs_fill_link_cmd(struct il_priv *il, struct il_lq_sta *lq_sta,  		repeat_rate--;  	} +out:  	lq_cmd->agg_params.agg_frame_cnt_limit = LINK_QUAL_AGG_FRAME_LIMIT_DEF;  	lq_cmd->agg_params.agg_dis_start_th = LINK_QUAL_AGG_DISABLE_START_DEF; |