diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-4965-rs.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965-rs.c | 22 |
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 | ||
2147 | done: | ||
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 | ||
2719 | void 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 | |||
2726 | int iwl4965_rate_control_register(void) | 2706 | int iwl4965_rate_control_register(void) |
2727 | { | 2707 | { |
2728 | return ieee80211_rate_control_register(&rs_ops); | 2708 | return ieee80211_rate_control_register(&rs_ops); |