OSDN Git Service

mt76: mt7915: fix VHT LDPC capability
authorRyder Lee <ryder.lee@mediatek.com>
Thu, 24 Sep 2020 15:23:14 +0000 (23:23 +0800)
committerFelix Fietkau <nbd@nbd.name>
Fri, 4 Dec 2020 12:46:12 +0000 (13:46 +0100)
The MCU field should contain a boolean 0/1, not the flag itself.

Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c

index a3ccc17..9cfd771 100644 (file)
@@ -1662,7 +1662,7 @@ mt7915_mcu_wtbl_ht_tlv(struct sk_buff *skb, struct ieee80211_sta *sta,
                tlv = mt7915_mcu_add_nested_tlv(skb, WTBL_HT, sizeof(*ht),
                                                wtbl_tlv, sta_wtbl);
                ht = (struct wtbl_ht *)tlv;
-               ht->ldpc = sta->ht_cap.cap & IEEE80211_HT_CAP_LDPC_CODING;
+               ht->ldpc = !!(sta->ht_cap.cap & IEEE80211_HT_CAP_LDPC_CODING);
                ht->af = sta->ht_cap.ampdu_factor;
                ht->mm = sta->ht_cap.ampdu_density;
                ht->ht = true;
@@ -1676,7 +1676,7 @@ mt7915_mcu_wtbl_ht_tlv(struct sk_buff *skb, struct ieee80211_sta *sta,
                tlv = mt7915_mcu_add_nested_tlv(skb, WTBL_VHT, sizeof(*vht),
                                                wtbl_tlv, sta_wtbl);
                vht = (struct wtbl_vht *)tlv;
-               vht->ldpc = sta->vht_cap.cap & IEEE80211_VHT_CAP_RXLDPC,
+               vht->ldpc = !!(sta->vht_cap.cap & IEEE80211_VHT_CAP_RXLDPC);
                vht->vht = true;
 
                af = FIELD_GET(IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK,
@@ -2858,7 +2858,7 @@ int mt7915_mcu_init(struct mt7915_dev *dev)
        };
        int ret;
 
-       dev->mt76.mcu_ops = &mt7915_mcu_ops,
+       dev->mt76.mcu_ops = &mt7915_mcu_ops;
 
        ret = mt7915_driver_own(dev);
        if (ret)