From: kernel test robot <lkp@intel.com>
To: Sarika Sharma <quic_sarishar@quicinc.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH ath-next v5 1/6] wifi: ath12k: enable wiphy flag for MLO station statistics support
Date: Fri, 18 Apr 2025 13:25:38 +0800 [thread overview]
Message-ID: <202504181305.OWdonKFO-lkp@intel.com> (raw)
In-Reply-To: <20250417045709.770219-2-quic_sarishar@quicinc.com>
Hi Sarika,
kernel test robot noticed the following build errors:
[auto build test ERROR on b80c52642c1159c2596776b39b06eb1c2e36baff]
url: https://github.com/intel-lab-lkp/linux/commits/Sarika-Sharma/wifi-ath12k-enable-wiphy-flag-for-MLO-station-statistics-support/20250417-130053
base: b80c52642c1159c2596776b39b06eb1c2e36baff
patch link: https://lore.kernel.org/r/20250417045709.770219-2-quic_sarishar%40quicinc.com
patch subject: [PATCH ath-next v5 1/6] wifi: ath12k: enable wiphy flag for MLO station statistics support
config: arm-randconfig-001-20250418 (https://download.01.org/0day-ci/archive/20250418/202504181305.OWdonKFO-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250418/202504181305.OWdonKFO-lkp@intel.com/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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504181305.OWdonKFO-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/net/wireless/ath/ath12k/mac.c: In function 'ath12k_mac_hw_register':
>> drivers/net/wireless/ath/ath12k/mac.c:11464:18: error: 'WIPHY_FLAG_SUPPORTS_MLO_STA_PER_LINK_STATS' undeclared (first use in this function); did you mean 'WIPHY_FLAG_SUPPORTS_NSTR_NONPRIMARY'?
wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO_STA_PER_LINK_STATS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WIPHY_FLAG_SUPPORTS_NSTR_NONPRIMARY
drivers/net/wireless/ath/ath12k/mac.c:11464:18: note: each undeclared identifier is reported only once for each function it appears in
vim +11464 drivers/net/wireless/ath/ath12k/mac.c
11315
11316 static int ath12k_mac_hw_register(struct ath12k_hw *ah)
11317 {
11318 struct ieee80211_hw *hw = ah->hw;
11319 struct wiphy *wiphy = hw->wiphy;
11320 struct ath12k *ar = ath12k_ah_to_ar(ah, 0);
11321 struct ath12k_base *ab = ar->ab;
11322 struct ath12k_pdev *pdev;
11323 struct ath12k_pdev_cap *cap;
11324 static const u32 cipher_suites[] = {
11325 WLAN_CIPHER_SUITE_TKIP,
11326 WLAN_CIPHER_SUITE_CCMP,
11327 WLAN_CIPHER_SUITE_AES_CMAC,
11328 WLAN_CIPHER_SUITE_BIP_CMAC_256,
11329 WLAN_CIPHER_SUITE_BIP_GMAC_128,
11330 WLAN_CIPHER_SUITE_BIP_GMAC_256,
11331 WLAN_CIPHER_SUITE_GCMP,
11332 WLAN_CIPHER_SUITE_GCMP_256,
11333 WLAN_CIPHER_SUITE_CCMP_256,
11334 };
11335 int ret, i, j;
11336 u32 ht_cap = U32_MAX, antennas_rx = 0, antennas_tx = 0;
11337 bool is_6ghz = false, is_raw_mode = false, is_monitor_disable = false;
11338 u8 *mac_addr = NULL;
11339 u8 mbssid_max_interfaces = 0;
11340
11341 wiphy->max_ap_assoc_sta = 0;
11342
11343 for_each_ar(ah, ar, i) {
11344 u32 ht_cap_info = 0;
11345
11346 pdev = ar->pdev;
11347 if (ar->ab->pdevs_macaddr_valid) {
11348 ether_addr_copy(ar->mac_addr, pdev->mac_addr);
11349 } else {
11350 ether_addr_copy(ar->mac_addr, ar->ab->mac_addr);
11351 ar->mac_addr[4] += ar->pdev_idx;
11352 }
11353
11354 ret = ath12k_mac_setup_register(ar, &ht_cap_info, hw->wiphy->bands);
11355 if (ret)
11356 goto err_cleanup_unregister;
11357
11358 /* 6 GHz does not support HT Cap, hence do not consider it */
11359 if (!ar->supports_6ghz)
11360 ht_cap &= ht_cap_info;
11361
11362 wiphy->max_ap_assoc_sta += ar->max_num_stations;
11363
11364 /* Advertise the max antenna support of all radios, driver can handle
11365 * per pdev specific antenna setting based on pdev cap when antenna
11366 * changes are made
11367 */
11368 cap = &pdev->cap;
11369
11370 antennas_rx = max_t(u32, antennas_rx, cap->rx_chain_mask);
11371 antennas_tx = max_t(u32, antennas_tx, cap->tx_chain_mask);
11372
11373 if (ar->supports_6ghz)
11374 is_6ghz = true;
11375
11376 if (test_bit(ATH12K_FLAG_RAW_MODE, &ar->ab->dev_flags))
11377 is_raw_mode = true;
11378
11379 if (!ar->ab->hw_params->supports_monitor)
11380 is_monitor_disable = true;
11381
11382 if (i == 0)
11383 mac_addr = ar->mac_addr;
11384 else
11385 mac_addr = ab->mac_addr;
11386
11387 mbssid_max_interfaces += TARGET_NUM_VDEVS;
11388 }
11389
11390 wiphy->available_antennas_rx = antennas_rx;
11391 wiphy->available_antennas_tx = antennas_tx;
11392
11393 SET_IEEE80211_PERM_ADDR(hw, mac_addr);
11394 SET_IEEE80211_DEV(hw, ab->dev);
11395
11396 ret = ath12k_mac_setup_iface_combinations(ah);
11397 if (ret) {
11398 ath12k_err(ab, "failed to setup interface combinations: %d\n", ret);
11399 goto err_complete_cleanup_unregister;
11400 }
11401
11402 wiphy->interface_modes = ath12k_mac_get_ifmodes(ah);
11403
11404 if (ah->num_radio == 1 &&
11405 wiphy->bands[NL80211_BAND_2GHZ] &&
11406 wiphy->bands[NL80211_BAND_5GHZ] &&
11407 wiphy->bands[NL80211_BAND_6GHZ])
11408 ieee80211_hw_set(hw, SINGLE_SCAN_ON_ALL_BANDS);
11409
11410 ieee80211_hw_set(hw, SIGNAL_DBM);
11411 ieee80211_hw_set(hw, SUPPORTS_PS);
11412 ieee80211_hw_set(hw, SUPPORTS_DYNAMIC_PS);
11413 ieee80211_hw_set(hw, MFP_CAPABLE);
11414 ieee80211_hw_set(hw, REPORTS_TX_ACK_STATUS);
11415 ieee80211_hw_set(hw, HAS_RATE_CONTROL);
11416 ieee80211_hw_set(hw, AP_LINK_PS);
11417 ieee80211_hw_set(hw, SPECTRUM_MGMT);
11418 ieee80211_hw_set(hw, CONNECTION_MONITOR);
11419 ieee80211_hw_set(hw, SUPPORTS_PER_STA_GTK);
11420 ieee80211_hw_set(hw, CHANCTX_STA_CSA);
11421 ieee80211_hw_set(hw, QUEUE_CONTROL);
11422 ieee80211_hw_set(hw, SUPPORTS_TX_FRAG);
11423 ieee80211_hw_set(hw, REPORTS_LOW_ACK);
11424 ieee80211_hw_set(hw, NO_VIRTUAL_MONITOR);
11425
11426 if ((ht_cap & WMI_HT_CAP_ENABLED) || is_6ghz) {
11427 ieee80211_hw_set(hw, AMPDU_AGGREGATION);
11428 ieee80211_hw_set(hw, TX_AMPDU_SETUP_IN_HW);
11429 ieee80211_hw_set(hw, SUPPORTS_REORDERING_BUFFER);
11430 ieee80211_hw_set(hw, SUPPORTS_AMSDU_IN_AMPDU);
11431 ieee80211_hw_set(hw, USES_RSS);
11432 }
11433
11434 wiphy->features |= NL80211_FEATURE_STATIC_SMPS;
11435 wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
11436
11437 /* TODO: Check if HT capability advertised from firmware is different
11438 * for each band for a dual band capable radio. It will be tricky to
11439 * handle it when the ht capability different for each band.
11440 */
11441 if (ht_cap & WMI_HT_CAP_DYNAMIC_SMPS ||
11442 (is_6ghz && ab->hw_params->supports_dynamic_smps_6ghz))
11443 wiphy->features |= NL80211_FEATURE_DYNAMIC_SMPS;
11444
11445 wiphy->max_scan_ssids = WLAN_SCAN_PARAMS_MAX_SSID;
11446 wiphy->max_scan_ie_len = WLAN_SCAN_PARAMS_MAX_IE_LEN;
11447
11448 hw->max_listen_interval = ATH12K_MAX_HW_LISTEN_INTERVAL;
11449
11450 wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL;
11451 wiphy->flags |= WIPHY_FLAG_HAS_CHANNEL_SWITCH;
11452 wiphy->max_remain_on_channel_duration = 5000;
11453
11454 wiphy->flags |= WIPHY_FLAG_AP_UAPSD;
11455 wiphy->features |= NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE |
11456 NL80211_FEATURE_AP_SCAN;
11457
11458 /* MLO is not yet supported so disable Wireless Extensions for now
11459 * to make sure ath12k users don't use it. This flag can be removed
11460 * once WIPHY_FLAG_SUPPORTS_MLO is enabled.
11461 */
11462 wiphy->flags |= WIPHY_FLAG_DISABLE_WEXT;
11463
11464 wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO_STA_PER_LINK_STATS;
11465
11466 /* Copy over MLO related capabilities received from
11467 * WMI_SERVICE_READY_EXT2_EVENT if single_chip_mlo_supp is set.
11468 */
11469 if (ab->ag->mlo_capable) {
11470 ath12k_iftypes_ext_capa[2].eml_capabilities = cap->eml_cap;
11471 ath12k_iftypes_ext_capa[2].mld_capa_and_ops = cap->mld_cap;
11472 wiphy->flags |= WIPHY_FLAG_SUPPORTS_MLO;
11473
11474 ieee80211_hw_set(hw, MLO_MCAST_MULTI_LINK_TX);
11475 }
11476
11477 hw->queues = ATH12K_HW_MAX_QUEUES;
11478 wiphy->tx_queue_len = ATH12K_QUEUE_LEN;
11479 hw->offchannel_tx_hw_queue = ATH12K_HW_MAX_QUEUES - 1;
11480 hw->max_rx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF_EHT;
11481
11482 hw->vif_data_size = sizeof(struct ath12k_vif);
11483 hw->sta_data_size = sizeof(struct ath12k_sta);
11484 hw->extra_tx_headroom = ab->hw_params->iova_mask;
11485
11486 wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
11487 wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_STA_TX_PWR);
11488
11489 wiphy->cipher_suites = cipher_suites;
11490 wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites);
11491
11492 wiphy->iftype_ext_capab = ath12k_iftypes_ext_capa;
11493 wiphy->num_iftype_ext_capab = ARRAY_SIZE(ath12k_iftypes_ext_capa);
11494
11495 wiphy->mbssid_max_interfaces = mbssid_max_interfaces;
11496 wiphy->ema_max_profile_periodicity = TARGET_EMA_MAX_PROFILE_PERIOD;
11497
11498 if (is_6ghz) {
11499 wiphy_ext_feature_set(wiphy,
11500 NL80211_EXT_FEATURE_FILS_DISCOVERY);
11501 wiphy_ext_feature_set(wiphy,
11502 NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP);
11503 }
11504
11505 wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_PUNCT);
11506
11507 ath12k_reg_init(hw);
11508
11509 if (!is_raw_mode) {
11510 hw->netdev_features = NETIF_F_HW_CSUM;
11511 ieee80211_hw_set(hw, SW_CRYPTO_CONTROL);
11512 ieee80211_hw_set(hw, SUPPORT_FAST_XMIT);
11513 }
11514
11515 if (test_bit(WMI_TLV_SERVICE_NLO, ar->wmi->wmi_ab->svc_map)) {
11516 wiphy->max_sched_scan_ssids = WMI_PNO_MAX_SUPP_NETWORKS;
11517 wiphy->max_match_sets = WMI_PNO_MAX_SUPP_NETWORKS;
11518 wiphy->max_sched_scan_ie_len = WMI_PNO_MAX_IE_LENGTH;
11519 wiphy->max_sched_scan_plans = WMI_PNO_MAX_SCHED_SCAN_PLANS;
11520 wiphy->max_sched_scan_plan_interval =
11521 WMI_PNO_MAX_SCHED_SCAN_PLAN_INT;
11522 wiphy->max_sched_scan_plan_iterations =
11523 WMI_PNO_MAX_SCHED_SCAN_PLAN_ITRNS;
11524 wiphy->features |= NL80211_FEATURE_ND_RANDOM_MAC_ADDR;
11525 }
11526
11527 ret = ath12k_wow_init(ar);
11528 if (ret) {
11529 ath12k_warn(ar->ab, "failed to init wow: %d\n", ret);
11530 goto err_cleanup_if_combs;
11531 }
11532
11533 ret = ieee80211_register_hw(hw);
11534 if (ret) {
11535 ath12k_err(ab, "ieee80211 registration failed: %d\n", ret);
11536 goto err_cleanup_if_combs;
11537 }
11538
11539 if (is_monitor_disable)
11540 /* There's a race between calling ieee80211_register_hw()
11541 * and here where the monitor mode is enabled for a little
11542 * while. But that time is so short and in practise it make
11543 * a difference in real life.
11544 */
11545 wiphy->interface_modes &= ~BIT(NL80211_IFTYPE_MONITOR);
11546
11547 for_each_ar(ah, ar, i) {
11548 /* Apply the regd received during initialization */
11549 ret = ath12k_regd_update(ar, true);
11550 if (ret) {
11551 ath12k_err(ar->ab, "ath12k regd update failed: %d\n", ret);
11552 goto err_unregister_hw;
11553 }
11554
11555 ath12k_fw_stats_init(ar);
11556 ath12k_debugfs_register(ar);
11557 }
11558
11559 return 0;
11560
11561 err_unregister_hw:
11562 for_each_ar(ah, ar, i)
11563 ath12k_debugfs_unregister(ar);
11564
11565 ieee80211_unregister_hw(hw);
11566
11567 err_cleanup_if_combs:
11568 ath12k_mac_cleanup_iface_combinations(ah);
11569
11570 err_complete_cleanup_unregister:
11571 i = ah->num_radio;
11572
11573 err_cleanup_unregister:
11574 for (j = 0; j < i; j++) {
11575 ar = ath12k_ah_to_ar(ah, j);
11576 ath12k_mac_cleanup_unregister(ar);
11577 }
11578
11579 SET_IEEE80211_DEV(hw, NULL);
11580
11581 return ret;
11582 }
11583
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-04-18 5:25 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-17 4:57 [PATCH ath-next v5 0/6] ath12k: add support to fill link statistics of multi-link station Sarika Sharma
2025-04-17 4:57 ` [PATCH ath-next v5 1/6] wifi: ath12k: enable wiphy flag for MLO station statistics support Sarika Sharma
2025-04-18 5:25 ` kernel test robot [this message]
2025-04-17 4:57 ` [PATCH ath-next v5 2/6] wifi: ath12k: correctly fetch arsta for MLO Sarika Sharma
2025-04-18 6:09 ` kernel test robot
2025-04-17 4:57 ` [PATCH ath-next v5 3/6] wifi: ath12k: add link support for multi-link in arsta Sarika Sharma
2025-04-17 4:57 ` [PATCH ath-next v5 4/6] wifi: ath12k: add EHT support for TX rate Sarika Sharma
2025-04-17 4:57 ` [PATCH ath-next v5 5/6] wifi: ath12k: correctly update bw for ofdma packets Sarika Sharma
2025-04-17 4:57 ` [PATCH ath-next v5 6/6] wifi: ath12k: fetch tx_retry and tx_failed from htt_ppdu_stats_user_cmpltn_common_tlv Sarika Sharma
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202504181305.OWdonKFO-lkp@intel.com \
--to=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=quic_sarishar@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.