[nbd168-wireless:mt76 18/135] drivers/net/wireless/mediatek/mt76/mt7925/mcu.c:450:4: error: a label can only be part of a statement and a declaration is not a statement

kernel test robot <[email protected]> Thu, 30 Jul 2026 11:19:54 +0800
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
tree:   https://github.com/nbd168/wireless mt76
head:   f9e4fb01b5467a48ec2f387b00dd5d1aa46d9fe4
commit: 8f3041ac57330f847889cf47070706aff98a1d49 [18/135] wifi: mt76: mt7925: add MT7928 TXD/TXS/TX_DONE support
config: arc-randconfig-r073-20260730 (https://download.01.org/0day-ci/archive/20260730/[email protected]/config)
compiler: arc-linux-gcc (GCC) 8.5.0
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260730/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   drivers/net/wireless/mediatek/mt76/mt7925/mcu.c: In function 'mt7925_mcu_tx_done_event':
>> drivers/net/wireless/mediatek/mt76/mt7925/mcu.c:450:4: error: a label can only be part of a statement and a declaration is not a statement
       struct mt7928_uni_txdone_event *evt;
       ^~~~~~


vim +450 drivers/net/wireless/mediatek/mt76/mt7925/mcu.c

   429	
   430	static void
   431	mt7925_mcu_tx_done_event(struct mt792x_dev *dev, struct sk_buff *skb)
   432	{
   433	#define UNI_EVENT_TX_DONE_MSG 0
   434	#define UNI_EVENT_TX_DONE_RAW 1
   435		struct mt7925_mcu_txs_event {
   436			u8 ver;
   437			u8 rsv[3];
   438			u8 data[];
   439		} __packed * txs;
   440		struct tlv *tlv;
   441		u32 tlv_len;
   442	
   443		skb_pull(skb, sizeof(struct mt7925_mcu_rxd) + 4);
   444		tlv = (struct tlv *)skb->data;
   445		tlv_len = skb->len;
   446	
   447		while (tlv_len > 0 && le16_to_cpu(tlv->len) <= tlv_len) {
   448			switch (le16_to_cpu(tlv->tag)) {
   449			case UNI_EVENT_TX_DONE_MSG:
 > 450				struct mt7928_uni_txdone_event *evt;
   451	
   452				if (!is_mt7928(&dev->mt76))
   453					break;
   454	
   455				evt = (struct mt7928_uni_txdone_event *)tlv;
   456				if (evt->status) {
   457					dev_info(dev->mt76.dev,
   458						 "TxDone: pid=%u status=%#x sn=%#x wcid=%u "
   459						 "cnt=%u rate=%#x flag=%#x tid=%u pwr=%u "
   460						 "rsp_rate=%#x rate_idx=%u bw=%u flush=%#x "
   461						 "delay=%#x ts=%#x flags=%#x\n",
   462						 evt->pid, evt->status,
   463						 le16_to_cpu(evt->seq), evt->wcid,
   464						 evt->tx_count, le16_to_cpu(evt->tx_rate),
   465						 evt->flag, evt->tid, evt->tx_pwr,
   466						 evt->rsp_rate, evt->rate_tbl_idx,
   467						 evt->bw, evt->flush_reason,
   468						 le32_to_cpu(evt->tx_delay),
   469						 le32_to_cpu(evt->timestamp),
   470						 le32_to_cpu(evt->applied_flags));
   471				}
   472				mt7928_mac_add_txs_msg(dev, evt);
   473				break;
   474			case UNI_EVENT_TX_DONE_RAW:
   475				txs = (struct mt7925_mcu_txs_event *)tlv->data;
   476				mt7925_mac_add_txs(dev, txs->data);
   477				break;
   478			default:
   479				break;
   480			}
   481			tlv_len -= le16_to_cpu(tlv->len);
   482			tlv = (struct tlv *)((char *)(tlv) + le16_to_cpu(tlv->len));
   483		}
   484	}
   485	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki