blob: 167b9e3f7769ab2f66f833447b9d55623476a66a [file] [log] [blame]
developer43a264f2024-03-26 14:09:54 +08001From: Felix Fietkau <nbd@nbd.name>
2Date: Wed, 21 Feb 2024 14:41:40 +0100
3Subject: [PATCH] wifi: mac80211: only call drv_sta_rc_update for uploaded
4 stations
5
6When a station has not been uploaded yet, receiving SMPS or channel width
7notification action frames can lead to rate_control_rate_update calling
8drv_sta_rc_update with uninitialized driver private data.
9Fix this by adding a missing check for sta->uploaded.
10
11Signed-off-by: Felix Fietkau <nbd@nbd.name>
12---
13
14--- a/net/mac80211/rate.c
15+++ b/net/mac80211/rate.c
16@@ -119,7 +119,8 @@ void rate_control_rate_update(struct iee
17 rcu_read_unlock();
18 }
19
20- drv_sta_rc_update(local, sta->sdata, &sta->sta, changed);
21+ if (sta->uploaded)
22+ drv_sta_rc_update(local, sta->sdata, &sta->sta, changed);
23 }
24
25 int ieee80211_rate_control_register(const struct rate_control_ops *ops)