Эх сурвалжийг харах

iwlwifi: remove obsolete lq_ready use

This patch removes the use of lq_ready, once used to sync between link
quality commands to avoid race conditions, but no longer needed as
bss_info_changed is in use.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Ron Rindjunsky 17 жил өмнө
parent
commit
36e1f16ed2

+ 1 - 18
drivers/net/wireless/iwlwifi/iwl-4965-rs.c

@@ -822,9 +822,6 @@ static void rs_tx_status(void *priv_rate, struct net_device *dev,
 
 
 	lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_priv;
 	lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_priv;
 
 
-	if (!priv->lq_mngr.lq_ready)
-		goto out;
-
 	if ((priv->iw_mode == IEEE80211_IF_TYPE_IBSS) &&
 	if ((priv->iw_mode == IEEE80211_IF_TYPE_IBSS) &&
 	    !lq_sta->ibss_sta_added)
 	    !lq_sta->ibss_sta_added)
 		goto out;
 		goto out;
@@ -1678,10 +1675,6 @@ static void rs_rate_scale_perform(struct iwl_priv *priv,
 	if (!sta || !sta->rate_ctrl_priv)
 	if (!sta || !sta->rate_ctrl_priv)
 		return;
 		return;
 
 
-	if (!priv->lq_mngr.lq_ready) {
-		IWL_DEBUG_RATE("still rate scaling not ready\n");
-		return;
-	}
 	lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_priv;
 	lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_priv;
 
 
 	tid = rs_tl_add_packet(lq_sta, hdr);
 	tid = rs_tl_add_packet(lq_sta, hdr);
@@ -2279,9 +2272,6 @@ static void rs_rate_init(void *priv_rate, void *priv_sta,
 	lq_sta->drv = priv;
 	lq_sta->drv = priv;
 #endif
 #endif
 
 
-	if (priv->assoc_station_added)
-		priv->lq_mngr.lq_ready = 1;
-
 	rs_initialize_lq(priv, conf, sta);
 	rs_initialize_lq(priv, conf, sta);
 }
 }
 
 
@@ -2421,7 +2411,7 @@ static void rs_clear(void *priv_rate)
 
 
 	IWL_DEBUG_RATE("enter\n");
 	IWL_DEBUG_RATE("enter\n");
 
 
-	priv->lq_mngr.lq_ready = 0;
+	/* TODO - add rate scale state reset */
 
 
 	IWL_DEBUG_RATE("leave\n");
 	IWL_DEBUG_RATE("leave\n");
 }
 }
@@ -2716,13 +2706,6 @@ int iwl4965_fill_rs_info(struct ieee80211_hw *hw, char *buf, u8 sta_id)
 	return cnt;
 	return cnt;
 }
 }
 
 
-void iwl4965_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
-{
-	struct iwl_priv *priv = hw->priv;
-
-	priv->lq_mngr.lq_ready = 1;
-}
-
 int iwl4965_rate_control_register(void)
 int iwl4965_rate_control_register(void)
 {
 {
 	return ieee80211_rate_control_register(&rs_ops);
 	return ieee80211_rate_control_register(&rs_ops);

+ 0 - 8
drivers/net/wireless/iwlwifi/iwl-4965-rs.h

@@ -295,14 +295,6 @@ static inline u8 iwl4965_get_prev_ieee_rate(u8 rate_index)
  */
  */
 extern int iwl4965_fill_rs_info(struct ieee80211_hw *, char *buf, u8 sta_id);
 extern int iwl4965_fill_rs_info(struct ieee80211_hw *, char *buf, u8 sta_id);
 
 
-/**
- * iwl4965_rate_scale_init - Initialize the rate scale table based on assoc info
- *
- * The specific throughput table used is based on the type of network
- * the associated with, including A, B, G, and G w/ TGG protection
- */
-extern void iwl4965_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id);
-
 /**
 /**
  * iwl4965_rate_control_register - Register the rate control algorithm callbacks
  * iwl4965_rate_control_register - Register the rate control algorithm callbacks
  *
  *

+ 0 - 1
drivers/net/wireless/iwlwifi/iwl-dev.h

@@ -693,7 +693,6 @@ struct iwl4965_lq_mngr {
 	unsigned long stamp_last;
 	unsigned long stamp_last;
 	u32 flush_time;
 	u32 flush_time;
 	u32 tx_packets;
 	u32 tx_packets;
-	u8 lq_ready;
 };
 };
 
 
 /* Sensitivity and chain noise calibration */
 /* Sensitivity and chain noise calibration */

+ 1 - 2
drivers/net/wireless/iwlwifi/iwl-sta.c

@@ -825,8 +825,7 @@ int iwl_send_lq_cmd(struct iwl_priv *priv,
 
 
 	iwl_dump_lq_cmd(priv,lq);
 	iwl_dump_lq_cmd(priv,lq);
 
 
-	if (iwl_is_associated(priv) && priv->assoc_station_added &&
-	    priv->lq_mngr.lq_ready)
+	if (iwl_is_associated(priv) && priv->assoc_station_added)
 		return  iwl_send_cmd(priv, &cmd);
 		return  iwl_send_cmd(priv, &cmd);
 
 
 	return 0;
 	return 0;

+ 0 - 3
drivers/net/wireless/iwlwifi/iwl4965-base.c

@@ -2483,7 +2483,6 @@ static void iwl4965_post_associate(struct iwl_priv *priv)
 
 
 	switch (priv->iw_mode) {
 	switch (priv->iw_mode) {
 	case IEEE80211_IF_TYPE_STA:
 	case IEEE80211_IF_TYPE_STA:
-		iwl4965_rate_scale_init(priv->hw, IWL_AP_ID);
 		break;
 		break;
 
 
 	case IEEE80211_IF_TYPE_IBSS:
 	case IEEE80211_IF_TYPE_IBSS:
@@ -2492,7 +2491,6 @@ static void iwl4965_post_associate(struct iwl_priv *priv)
 		priv->assoc_id = 1;
 		priv->assoc_id = 1;
 
 
 		iwl_rxon_add_station(priv, priv->bssid, 0);
 		iwl_rxon_add_station(priv, priv->bssid, 0);
-		iwl4965_rate_scale_init(priv->hw, IWL_STA_ID);
 		iwl4965_send_beacon_cmd(priv);
 		iwl4965_send_beacon_cmd(priv);
 
 
 		break;
 		break;
@@ -3425,7 +3423,6 @@ static void iwl4965_mac_reset_tsf(struct ieee80211_hw *hw)
 	mutex_lock(&priv->mutex);
 	mutex_lock(&priv->mutex);
 	IWL_DEBUG_MAC80211("enter\n");
 	IWL_DEBUG_MAC80211("enter\n");
 
 
-	priv->lq_mngr.lq_ready = 0;
 	spin_lock_irqsave(&priv->lock, flags);
 	spin_lock_irqsave(&priv->lock, flags);
 	memset(&priv->current_ht_config, 0, sizeof(struct iwl_ht_info));
 	memset(&priv->current_ht_config, 0, sizeof(struct iwl_ht_info));
 	spin_unlock_irqrestore(&priv->lock, flags);
 	spin_unlock_irqrestore(&priv->lock, flags);