Wireless client mode broken on WAX206 post r22866

My hunch was spot on!

Screen Shot 2023-06-24 at 10.33.33 AM

Both mt76 update commits were reverted. I'm now trying to narrow it down even further to the problematic patch -

3 files changed, 343 insertions(+), 6 deletions(-)
 create mode 100644 package/kernel/mt76/patches/100-api_update.patch
 create mode 100644 package/kernel/mt76/patches/110-wifi-mt76-ignore-key-disable-commands.patch
 
  commit 22f1b777
  package/kernel/mt76/patches/100-api_update.patch
 (transmit related)
 
 --- a/tx.c
 +++ b/tx.c
 @@ -330,7 +330,7 @@ mt76_tx(struct mt76_phy *phy, struct iee
	  if ((dev->drv->drv_flags & MT_DRV_HW_MGMT_TXQ) &&
		  !(info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) &&
		  !ieee80211_is_data(hdr->frame_control) &&
 -	    !ieee80211_is_bufferable_mmpdu(hdr->frame_control)) {
 +	    !ieee80211_is_bufferable_mmpdu(skb)) {
		  qid = MT_TXQ_PSD;
	  }
 
 commit efa44cb5
 package/kernel/mt76/patches/110-wifi-mt76-ignore-key-disable-commands.patch
 (mt7915 related)
 
 --- a/mt7915/main.c
 +++ b/mt7915/main.c
 @@ -410,16 +410,15 @@ static int mt7915_set_key(struct ieee802
		  mt7915_mcu_add_bss_info(phy, vif, true);
	  }
 
 -	if (cmd == SET_KEY)
 +	if (cmd == SET_KEY) {
		  *wcid_keyidx = idx;
 -	else if (idx == *wcid_keyidx)
 -		*wcid_keyidx = -1;
 -	else
 +	} else {
 +		if (idx == *wcid_keyidx)
 +			*wcid_keyidx = -1;
		  goto out;
 +	}
 
 -	mt76_wcid_key_setup(&dev->mt76, wcid,
 -			    cmd == SET_KEY ? key : NULL);
 -
 +	mt76_wcid_key_setup(&dev->mt76, wcid, key);
	  err = mt76_connac_mcu_add_key(&dev->mt76, vif, &msta->bip,
						key, MCU_EXT_CMD(STA_REC_UPDATE),
						&msta->wcid, cmd);
3 Likes