aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-4965-rs.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965-rs.c22
1 files changed, 1 insertions, 21 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
index 202303117285..c7ebb3bf06f5 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965-rs.c
@@ -822,9 +822,6 @@ static void rs_tx_status(void *priv_rate, struct net_device *dev,
822 822
823 lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_priv; 823 lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_priv;
824 824
825 if (!priv->lq_mngr.lq_ready)
826 goto out;
827
828 if ((priv->iw_mode == IEEE80211_IF_TYPE_IBSS) && 825 if ((priv->iw_mode == IEEE80211_IF_TYPE_IBSS) &&
829 !lq_sta->ibss_sta_added) 826 !lq_sta->ibss_sta_added)
830 goto out; 827 goto out;
@@ -1678,10 +1675,6 @@ static void rs_rate_scale_perform(struct iwl_priv *priv,
1678 if (!sta || !sta->rate_ctrl_priv) 1675 if (!sta || !sta->rate_ctrl_priv)
1679 return; 1676 return;
1680 1677
1681 if (!priv->lq_mngr.lq_ready) {
1682 IWL_DEBUG_RATE("still rate scaling not ready\n");
1683 return;
1684 }
1685 lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_priv; 1678 lq_sta = (struct iwl4965_lq_sta *)sta->rate_ctrl_priv;
1686 1679
1687 tid = rs_tl_add_packet(lq_sta, hdr); 1680 tid = rs_tl_add_packet(lq_sta, hdr);
@@ -2140,11 +2133,8 @@ static void rs_get_rate(void *priv_rate, struct net_device *dev,
2140 lq_sta->ibss_sta_added = 1; 2133 lq_sta->ibss_sta_added = 1;
2141 rs_initialize_lq(priv, conf, sta); 2134 rs_initialize_lq(priv, conf, sta);
2142 } 2135 }
2143 if (!lq_sta->ibss_sta_added)
2144 goto done;
2145 } 2136 }
2146 2137
2147done:
2148 if ((i < 0) || (i > IWL_RATE_COUNT)) { 2138 if ((i < 0) || (i > IWL_RATE_COUNT)) {
2149 sel->rate_idx = rate_lowest_index(local, sband, sta); 2139 sel->rate_idx = rate_lowest_index(local, sband, sta);
2150 goto out; 2140 goto out;
@@ -2279,9 +2269,6 @@ static void rs_rate_init(void *priv_rate, void *priv_sta,
2279 lq_sta->drv = priv; 2269 lq_sta->drv = priv;
2280#endif 2270#endif
2281 2271
2282 if (priv->assoc_station_added)
2283 priv->lq_mngr.lq_ready = 1;
2284
2285 rs_initialize_lq(priv, conf, sta); 2272 rs_initialize_lq(priv, conf, sta);
2286} 2273}
2287 2274
@@ -2421,7 +2408,7 @@ static void rs_clear(void *priv_rate)
2421 2408
2422 IWL_DEBUG_RATE("enter\n"); 2409 IWL_DEBUG_RATE("enter\n");
2423 2410
2424 priv->lq_mngr.lq_ready = 0; 2411 /* TODO - add rate scale state reset */
2425 2412
2426 IWL_DEBUG_RATE("leave\n"); 2413 IWL_DEBUG_RATE("leave\n");
2427} 2414}
@@ -2716,13 +2703,6 @@ int iwl4965_fill_rs_info(struct ieee80211_hw *hw, char *buf, u8 sta_id)
2716 return cnt; 2703 return cnt;
2717} 2704}
2718 2705
2719void iwl4965_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
2720{
2721 struct iwl_priv *priv = hw->priv;
2722
2723 priv->lq_mngr.lq_ready = 1;
2724}
2725
2726int iwl4965_rate_control_register(void) 2706int iwl4965_rate_control_register(void)
2727{ 2707{
2728 return ieee80211_rate_control_register(&rs_ops); 2708 return ieee80211_rate_control_register(&rs_ops);