| .. | .. |
|---|
| 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; |
|---|