|
@@ -1201,13 +1201,18 @@ static void rtl92c_dm_refresh_rate_adaptive_mask(struct ieee80211_hw *hw)
|
|
|
"PreState = %d, CurState = %d\n",
|
|
|
p_ra->pre_ratr_state, p_ra->ratr_state);
|
|
|
|
|
|
- rcu_read_lock();
|
|
|
- sta = ieee80211_find_sta(mac->vif, mac->bssid);
|
|
|
+ /* Only the PCI card uses sta in the update rate table
|
|
|
+ * callback routine */
|
|
|
+ if (rtlhal->interface == INTF_PCI) {
|
|
|
+ rcu_read_lock();
|
|
|
+ sta = ieee80211_find_sta(mac->vif, mac->bssid);
|
|
|
+ }
|
|
|
rtlpriv->cfg->ops->update_rate_tbl(hw, sta,
|
|
|
p_ra->ratr_state);
|
|
|
|
|
|
p_ra->pre_ratr_state = p_ra->ratr_state;
|
|
|
- rcu_read_unlock();
|
|
|
+ if (rtlhal->interface == INTF_PCI)
|
|
|
+ rcu_read_unlock();
|
|
|
}
|
|
|
}
|
|
|
}
|