[nbd168-wireless:mt76 28/135] drivers/net/wireless/mediatek/mt76/mt7925/nan.c:644:31: sparse: sparse: incorrect type in assignment (different base types)
kernel test robot <[email protected]> Fri, 31 Jul 2026 04:37:53 +0800
| Newsgroups | dev.linux.lists.oe-kbuild-all |
|---|---|
| Message-ID | <[email protected]> |
tree: https://github.com/nbd168/wireless mt76 head: 916e2978558bd50cb2105e131f6b72234a990287 commit: 6decc6a97044a24b69d873998e043fde340fe328 [28/135] wifi: mt76: mt7925: add NAN MCU helpers config: i386-randconfig-r121-20260730 (https://download.01.org/0day-ci/archive/20260731/[email protected]/config) compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211) sparse: v0.6.5-rc1 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260731/[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]/ sparse warnings: (new ones prefixed by >>) >> drivers/net/wireless/mediatek/mt76/mt7925/nan.c:644:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] sch_idx @@ got unsigned int [usertype] sch_idx @@ drivers/net/wireless/mediatek/mt76/mt7925/nan.c:644:31: sparse: expected restricted __le32 [usertype] sch_idx drivers/net/wireless/mediatek/mt76/mt7925/nan.c:644:31: sparse: got unsigned int [usertype] sch_idx drivers/net/wireless/mediatek/mt76/mt7925/nan.c:676:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] sch_idx @@ got unsigned int [usertype] sch_idx @@ drivers/net/wireless/mediatek/mt76/mt7925/nan.c:676:31: sparse: expected restricted __le32 [usertype] sch_idx drivers/net/wireless/mediatek/mt76/mt7925/nan.c:676:31: sparse: got unsigned int [usertype] sch_idx >> drivers/net/wireless/mediatek/mt76/mt7925/nan.c:678:44: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] max_chnl_switch_time @@ got unsigned short [usertype] max_chan_switch @@ drivers/net/wireless/mediatek/mt76/mt7925/nan.c:678:44: sparse: expected restricted __le16 [usertype] max_chnl_switch_time drivers/net/wireless/mediatek/mt76/mt7925/nan.c:678:44: sparse: got unsigned short [usertype] max_chan_switch drivers/net/wireless/mediatek/mt76/mt7925/nan.c:758:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le32 [usertype] sch_idx @@ got unsigned int [usertype] sch_idx @@ drivers/net/wireless/mediatek/mt76/mt7925/nan.c:758:26: sparse: expected restricted __le32 [usertype] sch_idx drivers/net/wireless/mediatek/mt76/mt7925/nan.c:758:26: sparse: got unsigned int [usertype] sch_idx vim +644 drivers/net/wireless/mediatek/mt76/mt7925/nan.c 625 626 static int mt7925_nan_peer_rec_tlv(struct sk_buff *skb, 627 struct ieee80211_sta *sta, 628 struct mt792x_sta *msta, 629 u8 is_activate) 630 { 631 struct mt7925_nan_sched_manage_peer_rec_tlv *peer_rec_tlv; 632 struct tlv *tlv; 633 634 if (!skb || !sta || !msta) 635 return -EINVAL; 636 637 tlv = mt76_connac_mcu_add_tlv(skb, NAN_UNI_CMD_MANAGE_PEER_SCH_RECORD, 638 sizeof(struct mt7925_nan_sched_manage_peer_rec_tlv)); 639 640 if (!tlv) 641 return -ENOMEM; 642 643 peer_rec_tlv = (struct mt7925_nan_sched_manage_peer_rec_tlv *)tlv; > 644 peer_rec_tlv->sch_idx = msta->nan_sched.sch_idx; 645 peer_rec_tlv->is_activate = is_activate; 646 memcpy(peer_rec_tlv->nmi_addr, sta->addr, ETH_ALEN); 647 648 return 0; 649 } 650 651 static int mt7925_nan_peer_cap_tlv(struct sk_buff *skb, 652 struct ieee80211_sta *sta, 653 struct mt792x_sta *msta) 654 { 655 struct mt7925_nan_sched_update_peer_cap_tlv *peer_cap_tlv; 656 struct ieee80211_nan_peer_sched *sched; 657 enum nl80211_band band; 658 struct tlv *tlv; 659 u16 primary_ch; 660 u32 i; 661 662 if (!skb || !sta || !msta) 663 return -EINVAL; 664 665 sched = sta->nan_sched; 666 if (!sched) 667 return -EINVAL; 668 669 tlv = mt76_connac_mcu_add_tlv(skb, NAN_UNI_CMD_UPDATE_PEER_CAPABILITY, 670 sizeof(struct mt7925_nan_sched_update_peer_cap_tlv)); 671 672 if (!tlv) 673 return -ENOMEM; 674 675 peer_cap_tlv = (struct mt7925_nan_sched_update_peer_cap_tlv *)tlv; 676 peer_cap_tlv->sch_idx = msta->nan_sched.sch_idx; 677 peer_cap_tlv->supported_bands = BIT(NAN_SUPPORTED_BAND_ID_2P4G); > 678 peer_cap_tlv->max_chnl_switch_time = sched->max_chan_switch; 679 680 for (i = 0; i < sched->n_channels; i++) { 681 if (!sched->channels[i].chanctx_conf) 682 continue; 683 684 band = sched->channels[i].chanctx_conf->def.chan->band; 685 primary_ch = 686 sched->channels[i].chanctx_conf->def.chan->hw_value; 687 688 if (band == NL80211_BAND_2GHZ) 689 peer_cap_tlv->peer_supported_bands |= 690 BIT(NAN_SUPPORTED_BN_2G); 691 else if (primary_ch >= UNII1_LOWER_BOUND && 692 primary_ch <= UNII1_UPPER_BOUND) 693 peer_cap_tlv->peer_supported_bands |= 694 BIT(NAN_SUPPORTED_BN_5G_LOW); 695 else if (primary_ch >= UNII3_LOWER_BOUND && 696 primary_ch <= UNII3_UPPER_BOUND) 697 peer_cap_tlv->peer_supported_bands |= 698 BIT(NAN_SUPPORTED_BN_5G_HIGH); 699 } 700 701 return 0; 702 } 703 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki