mt76: connac: fix a theoretical NULL pointer dereference in mt76_connac_get_phy_mode
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 18 Nov 2021 12:49:41 +0000 (13:49 +0100)
committerFelix Fietkau <nbd@nbd.name>
Sun, 19 Dec 2021 14:23:59 +0000 (15:23 +0100)
Even if it is not a real bug since mt76_connac_get_phy_mode runs just
for mt7921 where only STA is supported, fix a theoretical NULL pointer
dereference if new added modes do not support HE

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c

index 26b4b87..bcb5966 100644 (file)
@@ -1179,7 +1179,7 @@ mt76_connac_get_phy_mode(struct mt76_phy *phy, struct ieee80211_vif *vif,
                if (ht_cap->ht_supported)
                        mode |= PHY_MODE_GN;
 
-               if (he_cap->has_he)
+               if (he_cap && he_cap->has_he)
                        mode |= PHY_MODE_AX_24G;
        } else if (band == NL80211_BAND_5GHZ || band == NL80211_BAND_6GHZ) {
                mode |= PHY_MODE_A;
@@ -1190,7 +1190,7 @@ mt76_connac_get_phy_mode(struct mt76_phy *phy, struct ieee80211_vif *vif,
                if (vht_cap->vht_supported)
                        mode |= PHY_MODE_AC;
 
-               if (he_cap->has_he) {
+               if (he_cap && he_cap->has_he) {
                        if (band == NL80211_BAND_6GHZ)
                                mode |= PHY_MODE_AX_6G;
                        else