tree: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git pending head: c375b624472cb8b686703077a41eff4d3b252629 commit: 6a78ce7bd02b14e7016cd367f7b1a95cce3f2cd1 [25/38] iwlwifi: mvm: set BROADCAST_TWT_SUPPORTED in MAC policy config: riscv-allyesconfig (attached as .config) compiler: riscv64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git/commit/?id=6a78ce7bd02b14e7016cd367f7b1a95cce3f2cd1 git remote add iwlwifi-next https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git git fetch --no-tags iwlwifi-next pending git checkout 6a78ce7bd02b14e7016cd367f7b1a95cce3f2cd1 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c: In function 'iwl_mvm_mac_ctxt_cmd_sta': >> drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c:655:21: error: 'struct ieee80211_bss_conf' has no member named 'twt_broadcast' 655 | if (vif->bss_conf.twt_broadcast) | ^ vim +655 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 541 542 static int iwl_mvm_mac_ctxt_cmd_sta(struct iwl_mvm *mvm, 543 struct ieee80211_vif *vif, 544 u32 action, bool force_assoc_off, 545 const u8 *bssid_override) 546 { 547 struct iwl_mac_ctx_cmd cmd = {}; 548 struct iwl_mac_data_sta *ctxt_sta; 549 550 WARN_ON(vif->type != NL80211_IFTYPE_STATION); 551 552 /* Fill the common data for all mac context types */ 553 iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, bssid_override, action); 554 555 if (vif->p2p) { 556 struct ieee80211_p2p_noa_attr *noa = 557 &vif->bss_conf.p2p_noa_attr; 558 559 cmd.p2p_sta.ctwin = cpu_to_le32(noa->oppps_ctwindow & 560 IEEE80211_P2P_OPPPS_CTWINDOW_MASK); 561 ctxt_sta = &cmd.p2p_sta.sta; 562 } else { 563 ctxt_sta = &cmd.sta; 564 } 565 566 /* We need the dtim_period to set the MAC as associated */ 567 if (vif->bss_conf.assoc && vif->bss_conf.dtim_period && 568 !force_assoc_off) { 569 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); 570 u8 ap_sta_id = mvmvif->ap_sta_id; 571 u32 dtim_offs; 572 573 /* 574 * The DTIM count counts down, so when it is N that means N 575 * more beacon intervals happen until the DTIM TBTT. Therefore 576 * add this to the current time. If that ends up being in the 577 * future, the firmware will handle it. 578 * 579 * Also note that the system_timestamp (which we get here as 580 * "sync_device_ts") and TSF timestamp aren't at exactly the 581 * same offset in the frame -- the TSF is at the first symbol 582 * of the TSF, the system timestamp is at signal acquisition 583 * time. This means there's an offset between them of at most 584 * a few hundred microseconds (24 * 8 bits + PLCP time gives 585 * 384us in the longest case), this is currently not relevant 586 * as the firmware wakes up around 2ms before the TBTT. 587 */ 588 dtim_offs = vif->bss_conf.sync_dtim_count * 589 vif->bss_conf.beacon_int; 590 /* convert TU to usecs */ 591 dtim_offs *= 1024; 592 593 ctxt_sta->dtim_tsf = 594 cpu_to_le64(vif->bss_conf.sync_tsf + dtim_offs); 595 ctxt_sta->dtim_time = 596 cpu_to_le32(vif->bss_conf.sync_device_ts + dtim_offs); 597 ctxt_sta->assoc_beacon_arrive_time = 598 cpu_to_le32(vif->bss_conf.sync_device_ts); 599 600 IWL_DEBUG_INFO(mvm, "DTIM TBTT is 0x%llx/0x%x, offset %d\n", 601 le64_to_cpu(ctxt_sta->dtim_tsf), 602 le32_to_cpu(ctxt_sta->dtim_time), 603 dtim_offs); 604 605 ctxt_sta->is_assoc = cpu_to_le32(1); 606 607 /* 608 * allow multicast data frames only as long as the station is 609 * authorized, i.e., GTK keys are already installed (if needed) 610 */ 611 if (ap_sta_id < mvm->fw->ucode_capa.num_stations) { 612 struct ieee80211_sta *sta; 613 614 rcu_read_lock(); 615 616 sta = rcu_dereference(mvm->fw_id_to_mac_id[ap_sta_id]); 617 if (!IS_ERR_OR_NULL(sta)) { 618 struct iwl_mvm_sta *mvmsta = 619 iwl_mvm_sta_from_mac80211(sta); 620 621 if (mvmsta->sta_state == 622 IEEE80211_STA_AUTHORIZED) 623 cmd.filter_flags |= 624 cpu_to_le32(MAC_FILTER_ACCEPT_GRP); 625 } 626 627 rcu_read_unlock(); 628 } 629 } else { 630 ctxt_sta->is_assoc = cpu_to_le32(0); 631 632 /* Allow beacons to pass through as long as we are not 633 * associated, or we do not have dtim period information. 634 */ 635 cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_BEACON); 636 } 637 638 ctxt_sta->bi = cpu_to_le32(vif->bss_conf.beacon_int); 639 ctxt_sta->dtim_interval = cpu_to_le32(vif->bss_conf.beacon_int * 640 vif->bss_conf.dtim_period); 641 642 ctxt_sta->listen_interval = cpu_to_le32(mvm->hw->conf.listen_interval); 643 ctxt_sta->assoc_id = cpu_to_le32(vif->bss_conf.aid); 644 645 if (vif->probe_req_reg && vif->bss_conf.assoc && vif->p2p) 646 cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_PROBE_REQUEST); 647 648 if (vif->bss_conf.he_support && !iwlwifi_mod_params.disable_11ax) { 649 cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_11AX); 650 if (vif->bss_conf.twt_requester && IWL_MVM_USE_TWT) { 651 ctxt_sta->data_policy |= cpu_to_le32(TWT_SUPPORTED); 652 if (vif->bss_conf.twt_protected) 653 ctxt_sta->data_policy |= 654 cpu_to_le32(PROTECTED_TWT_SUPPORTED); > 655 if (vif->bss_conf.twt_broadcast) 656 ctxt_sta->data_policy |= 657 cpu_to_le32(BROADCAST_TWT_SUPPORTED); 658 } 659 } 660 661 662 return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd); 663 } 664 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org