From: Lorenzo Bianconi Date: Sat, 22 Jan 2022 14:58:57 +0000 (+0100) Subject: mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update X-Git-Tag: v6.1-rc5~1746^2~372^2^2~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fc8e2c707ce11c8ec2e992885b0d53a5e04031ac;p=platform%2Fkernel%2Flinux-starfive.git mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update Check sta_rates pointer value in mt7603_sta_rate_tbl_update routine since minstrel_ht_update_rates can fail allocating rates array. Fixes: c8846e1015022 ("mt76: add driver for MT7603E and MT7628/7688") Signed-off-by: Lorenzo Bianconi Signed-off-by: Felix Fietkau --- diff --git a/drivers/net/wireless/mediatek/mt76/mt7603/main.c b/drivers/net/wireless/mediatek/mt76/mt7603/main.c index 2b546bc..83c5eec 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7603/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7603/main.c @@ -641,6 +641,9 @@ mt7603_sta_rate_tbl_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta_rates *sta_rates = rcu_dereference(sta->rates); int i; + if (!sta_rates) + return; + spin_lock_bh(&dev->mt76.lock); for (i = 0; i < ARRAY_SIZE(msta->rates); i++) { msta->rates[i].idx = sta_rates->rate[i].idx;