Hello Felix Fietkau, The patch 23405236460b: "mt76: fix transmission of encrypted management frames" from Jan 18, 2018, leads to the following static checker warning: drivers/net/wireless/mediatek/mt76/mt76x2_tx.c:41 mt76x2_tx() warn: always true condition '(wcid->hw_key_idx != -1) => (0-255 != (-1))' drivers/net/wireless/mediatek/mt76/mt76x2_tx.c 26 void mt76x2_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control, 27 struct sk_buff *skb) 28 { 29 struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); 30 struct mt76x2_dev *dev = hw->priv; 31 struct ieee80211_vif *vif = info->control.vif; 32 struct mt76_wcid *wcid = &dev->global_wcid; 33 34 if (control->sta) { 35 struct mt76x2_sta *msta; 36 37 msta = (struct mt76x2_sta *) control->sta->drv_priv; 38 wcid = &msta->wcid; 39 } 40 41 if (vif || (!info->control.hw_key && wcid->hw_key_idx != -1)) { ^^^^^^^^^^^^^^^^^^^^^^ We set ->hw_key_idx to -1 but it's a u8 so it gets truncated to 0xFF. This should probably be a define anyway. 42 struct mt76x2_vif *mvif; 43 44 mvif = (struct mt76x2_vif *) vif->drv_priv; 45 wcid = &mvif->group_wcid; 46 } 47 48 mt76_tx(&dev->mt76, control->sta, wcid, skb); 49 } regards, dan carpenter