Skip to content

Commit

Permalink
iwl3945: fix station stuff in RC algorithm
Browse files Browse the repository at this point in the history
Probably bugs I added.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Johannes Berg authored and John W. Linville committed Oct 31, 2008
1 parent d51626d commit 5251818
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions drivers/net/wireless/iwlwifi/iwl-3945-rs.c
Original file line number Diff line number Diff line change
Expand Up @@ -826,13 +826,12 @@ void iwl3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
rcu_read_lock();

sta = ieee80211_find_sta(hw, priv->stations[sta_id].sta.sta.addr);
psta = (void *) sta->drv_priv;
if (!sta || !psta) {
IWL_DEBUG_RATE("leave - no private rate data!\n");
if (!sta) {
rcu_read_unlock();
return;
}

psta = (void *) sta->drv_priv;
rs_sta = psta->rs_sta;

spin_lock_irqsave(&rs_sta->lock, flags);
Expand All @@ -856,7 +855,6 @@ void iwl3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
break;
}

rcu_read_unlock();
spin_unlock_irqrestore(&rs_sta->lock, flags);

rssi = priv->last_rx_rssi;
Expand All @@ -870,6 +868,7 @@ void iwl3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
IWL_DEBUG_RATE("leave: rssi %d assign rate index: "
"%d (plcp 0x%x)\n", rssi, rs_sta->start_rate,
iwl3945_rates[rs_sta->start_rate].plcp);
rcu_read_unlock();
}

int iwl3945_rate_control_register(void)
Expand Down

0 comments on commit 5251818

Please sign in to comment.