.. | .. |
---|
1040 | 1040 | list_del_rcu(&sta->list); |
---|
1041 | 1041 | sta->removed = true; |
---|
1042 | 1042 | |
---|
1043 | | - drv_sta_pre_rcu_remove(local, sta->sdata, sta); |
---|
| 1043 | + if (sta->uploaded) |
---|
| 1044 | + drv_sta_pre_rcu_remove(local, sta->sdata, sta); |
---|
1044 | 1045 | |
---|
1045 | 1046 | if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN && |
---|
1046 | 1047 | rcu_access_pointer(sdata->u.vlan.sta) == sta) |
---|
.. | .. |
---|
2159 | 2160 | |
---|
2160 | 2161 | static int sta_set_rate_info_rx(struct sta_info *sta, struct rate_info *rinfo) |
---|
2161 | 2162 | { |
---|
2162 | | - u16 rate = READ_ONCE(sta_get_last_rx_stats(sta)->last_rate); |
---|
| 2163 | + u32 rate = READ_ONCE(sta_get_last_rx_stats(sta)->last_rate); |
---|
2163 | 2164 | |
---|
2164 | 2165 | if (rate == STA_STATS_RATE_INVALID) |
---|
2165 | 2166 | return -EINVAL; |
---|