mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update
authorLorenzo Bianconi <lorenzo@kernel.org>
Sat, 22 Jan 2022 14:58:58 +0000 (15:58 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:28 +0000 (14:23 +0200)
[ Upstream commit 6a6f457ed5fdf6777536c20644a9e42128a50ec2 ]

Check sta_rates pointer value in mt7615_sta_rate_tbl_update routine
since minstrel_ht_update_rates can fail allocating rates array.

Fixes: 04b8e65922f63 ("mt76: add mac80211 driver for MT7615 PCIe-based chipsets")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/mediatek/mt76/mt7615/main.c

index fc266da54fe7b59f6b61a7a28daade18c8ed438b..60a41d08296117f032b64d606e0f877dfe8c199c 100644 (file)
@@ -682,6 +682,9 @@ static void mt7615_sta_rate_tbl_update(struct ieee80211_hw *hw,
        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;