aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c b/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c
index cb5535cf3ae2..8646ff2a55ce 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c
@@ -1201,13 +1201,18 @@ static void rtl92c_dm_refresh_rate_adaptive_mask(struct ieee80211_hw *hw)
1201 "PreState = %d, CurState = %d\n", 1201 "PreState = %d, CurState = %d\n",
1202 p_ra->pre_ratr_state, p_ra->ratr_state); 1202 p_ra->pre_ratr_state, p_ra->ratr_state);
1203 1203
1204 rcu_read_lock(); 1204 /* Only the PCI card uses sta in the update rate table
1205 sta = ieee80211_find_sta(mac->vif, mac->bssid); 1205 * callback routine */
1206 if (rtlhal->interface == INTF_PCI) {
1207 rcu_read_lock();
1208 sta = ieee80211_find_sta(mac->vif, mac->bssid);
1209 }
1206 rtlpriv->cfg->ops->update_rate_tbl(hw, sta, 1210 rtlpriv->cfg->ops->update_rate_tbl(hw, sta,
1207 p_ra->ratr_state); 1211 p_ra->ratr_state);
1208 1212
1209 p_ra->pre_ratr_state = p_ra->ratr_state; 1213 p_ra->pre_ratr_state = p_ra->ratr_state;
1210 rcu_read_unlock(); 1214 if (rtlhal->interface == INTF_PCI)
1215 rcu_read_unlock();
1211 } 1216 }
1212 } 1217 }
1213} 1218}