Hi Johannes, kernel test robot noticed the following build errors: [auto build test ERROR on wireless-next/main] [cannot apply to wireless/main staging/staging-testing staging/staging-next staging/staging-linus linus/master v6.8-rc2 next-20240130] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Johannes-Berg/wifi-mac80211-clean-up-band-switch-in-duration/20240130-025313 base: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main patch link: https://lore.kernel.org/r/20240129194108.307183a5d2e5.I4d7fe2f126b2366c1312010e2900dfb2abffa0f6%40changeid patch subject: [PATCH 15/15] wifi: cfg80211/mac80211: move puncturing into chandef config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20240130/202401301758.FyMQrGkP-lkp@xxxxxxxxx/config) compiler: loongarch64-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240130/202401301758.FyMQrGkP-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202401301758.FyMQrGkP-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): drivers/net/wireless/ath/ath12k/mac.c: In function 'ath12k_mac_op_bss_info_changed': >> drivers/net/wireless/ath/ath12k/mac.c:2771:23: error: 'BSS_CHANGED_EHT_PUNCTURING' undeclared (first use in this function) 2771 | if (changed & BSS_CHANGED_EHT_PUNCTURING) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/wireless/ath/ath12k/mac.c:2771:23: note: each undeclared identifier is reported only once for each function it appears in >> drivers/net/wireless/ath/ath12k/mac.c:2772:43: error: 'struct ieee80211_bss_conf' has no member named 'eht_puncturing' 2772 | arvif->punct_bitmap = info->eht_puncturing; | ^~ drivers/net/wireless/ath/ath12k/mac.c: In function 'ath12k_mac_op_assign_vif_chanctx': drivers/net/wireless/ath/ath12k/mac.c:6374:40: error: 'struct ieee80211_bss_conf' has no member named 'eht_puncturing' 6374 | arvif->punct_bitmap = link_conf->eht_puncturing; | ^~ vim +/BSS_CHANGED_EHT_PUNCTURING +2771 drivers/net/wireless/ath/ath12k/mac.c d889913205cf7e Kalle Valo 2022-11-28 2493 d889913205cf7e Kalle Valo 2022-11-28 2494 static void ath12k_mac_op_bss_info_changed(struct ieee80211_hw *hw, d889913205cf7e Kalle Valo 2022-11-28 2495 struct ieee80211_vif *vif, d889913205cf7e Kalle Valo 2022-11-28 2496 struct ieee80211_bss_conf *info, d889913205cf7e Kalle Valo 2022-11-28 2497 u64 changed) d889913205cf7e Kalle Valo 2022-11-28 2498 { d889913205cf7e Kalle Valo 2022-11-28 2499 struct ath12k *ar = hw->priv; d889913205cf7e Kalle Valo 2022-11-28 2500 struct ath12k_vif *arvif = ath12k_vif_to_arvif(vif); d889913205cf7e Kalle Valo 2022-11-28 2501 struct cfg80211_chan_def def; d889913205cf7e Kalle Valo 2022-11-28 2502 u32 param_id, param_value; d889913205cf7e Kalle Valo 2022-11-28 2503 enum nl80211_band band; d889913205cf7e Kalle Valo 2022-11-28 2504 u32 vdev_param; d889913205cf7e Kalle Valo 2022-11-28 2505 int mcast_rate; d889913205cf7e Kalle Valo 2022-11-28 2506 u32 preamble; d889913205cf7e Kalle Valo 2022-11-28 2507 u16 hw_value; d889913205cf7e Kalle Valo 2022-11-28 2508 u16 bitrate; d889913205cf7e Kalle Valo 2022-11-28 2509 int ret; d889913205cf7e Kalle Valo 2022-11-28 2510 u8 rateidx; d889913205cf7e Kalle Valo 2022-11-28 2511 u32 rate; d889913205cf7e Kalle Valo 2022-11-28 2512 d889913205cf7e Kalle Valo 2022-11-28 2513 mutex_lock(&ar->conf_mutex); d889913205cf7e Kalle Valo 2022-11-28 2514 d889913205cf7e Kalle Valo 2022-11-28 2515 if (changed & BSS_CHANGED_BEACON_INT) { d889913205cf7e Kalle Valo 2022-11-28 2516 arvif->beacon_interval = info->beacon_int; d889913205cf7e Kalle Valo 2022-11-28 2517 d889913205cf7e Kalle Valo 2022-11-28 2518 param_id = WMI_VDEV_PARAM_BEACON_INTERVAL; d889913205cf7e Kalle Valo 2022-11-28 2519 ret = ath12k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2520 param_id, d889913205cf7e Kalle Valo 2022-11-28 2521 arvif->beacon_interval); d889913205cf7e Kalle Valo 2022-11-28 2522 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2523 ath12k_warn(ar->ab, "Failed to set beacon interval for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2524 arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2525 else d889913205cf7e Kalle Valo 2022-11-28 2526 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, d889913205cf7e Kalle Valo 2022-11-28 2527 "Beacon interval: %d set for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2528 arvif->beacon_interval, arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2529 } d889913205cf7e Kalle Valo 2022-11-28 2530 d889913205cf7e Kalle Valo 2022-11-28 2531 if (changed & BSS_CHANGED_BEACON) { d889913205cf7e Kalle Valo 2022-11-28 2532 param_id = WMI_PDEV_PARAM_BEACON_TX_MODE; c4cb46dfb291e1 Sidhanta Sahu 2023-09-05 2533 param_value = WMI_BEACON_BURST_MODE; d889913205cf7e Kalle Valo 2022-11-28 2534 ret = ath12k_wmi_pdev_set_param(ar, param_id, d889913205cf7e Kalle Valo 2022-11-28 2535 param_value, ar->pdev->pdev_id); d889913205cf7e Kalle Valo 2022-11-28 2536 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2537 ath12k_warn(ar->ab, "Failed to set beacon mode for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2538 arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2539 else d889913205cf7e Kalle Valo 2022-11-28 2540 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, c4cb46dfb291e1 Sidhanta Sahu 2023-09-05 2541 "Set burst beacon mode for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2542 arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2543 d889913205cf7e Kalle Valo 2022-11-28 2544 ret = ath12k_mac_setup_bcn_tmpl(arvif); d889913205cf7e Kalle Valo 2022-11-28 2545 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2546 ath12k_warn(ar->ab, "failed to update bcn template: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2547 ret); d889913205cf7e Kalle Valo 2022-11-28 2548 } d889913205cf7e Kalle Valo 2022-11-28 2549 d889913205cf7e Kalle Valo 2022-11-28 2550 if (changed & (BSS_CHANGED_BEACON_INFO | BSS_CHANGED_BEACON)) { d889913205cf7e Kalle Valo 2022-11-28 2551 arvif->dtim_period = info->dtim_period; d889913205cf7e Kalle Valo 2022-11-28 2552 d889913205cf7e Kalle Valo 2022-11-28 2553 param_id = WMI_VDEV_PARAM_DTIM_PERIOD; d889913205cf7e Kalle Valo 2022-11-28 2554 ret = ath12k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2555 param_id, d889913205cf7e Kalle Valo 2022-11-28 2556 arvif->dtim_period); d889913205cf7e Kalle Valo 2022-11-28 2557 d889913205cf7e Kalle Valo 2022-11-28 2558 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2559 ath12k_warn(ar->ab, "Failed to set dtim period for VDEV %d: %i\n", d889913205cf7e Kalle Valo 2022-11-28 2560 arvif->vdev_id, ret); d889913205cf7e Kalle Valo 2022-11-28 2561 else d889913205cf7e Kalle Valo 2022-11-28 2562 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, d889913205cf7e Kalle Valo 2022-11-28 2563 "DTIM period: %d set for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2564 arvif->dtim_period, arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2565 } d889913205cf7e Kalle Valo 2022-11-28 2566 d889913205cf7e Kalle Valo 2022-11-28 2567 if (changed & BSS_CHANGED_SSID && d889913205cf7e Kalle Valo 2022-11-28 2568 vif->type == NL80211_IFTYPE_AP) { d889913205cf7e Kalle Valo 2022-11-28 2569 arvif->u.ap.ssid_len = vif->cfg.ssid_len; d889913205cf7e Kalle Valo 2022-11-28 2570 if (vif->cfg.ssid_len) d889913205cf7e Kalle Valo 2022-11-28 2571 memcpy(arvif->u.ap.ssid, vif->cfg.ssid, vif->cfg.ssid_len); d889913205cf7e Kalle Valo 2022-11-28 2572 arvif->u.ap.hidden_ssid = info->hidden_ssid; d889913205cf7e Kalle Valo 2022-11-28 2573 } d889913205cf7e Kalle Valo 2022-11-28 2574 d889913205cf7e Kalle Valo 2022-11-28 2575 if (changed & BSS_CHANGED_BSSID && !is_zero_ether_addr(info->bssid)) d889913205cf7e Kalle Valo 2022-11-28 2576 ether_addr_copy(arvif->bssid, info->bssid); d889913205cf7e Kalle Valo 2022-11-28 2577 d889913205cf7e Kalle Valo 2022-11-28 2578 if (changed & BSS_CHANGED_BEACON_ENABLED) { d889913205cf7e Kalle Valo 2022-11-28 2579 ath12k_control_beaconing(arvif, info); d889913205cf7e Kalle Valo 2022-11-28 2580 d889913205cf7e Kalle Valo 2022-11-28 2581 if (arvif->is_up && vif->bss_conf.he_support && d889913205cf7e Kalle Valo 2022-11-28 2582 vif->bss_conf.he_oper.params) { d889913205cf7e Kalle Valo 2022-11-28 2583 /* TODO: Extend to support 1024 BA Bitmap size */ d889913205cf7e Kalle Valo 2022-11-28 2584 ret = ath12k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2585 WMI_VDEV_PARAM_BA_MODE, d889913205cf7e Kalle Valo 2022-11-28 2586 WMI_BA_MODE_BUFFER_SIZE_256); d889913205cf7e Kalle Valo 2022-11-28 2587 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2588 ath12k_warn(ar->ab, d889913205cf7e Kalle Valo 2022-11-28 2589 "failed to set BA BUFFER SIZE 256 for vdev: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2590 arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2591 d889913205cf7e Kalle Valo 2022-11-28 2592 param_id = WMI_VDEV_PARAM_HEOPS_0_31; d889913205cf7e Kalle Valo 2022-11-28 2593 param_value = vif->bss_conf.he_oper.params; d889913205cf7e Kalle Valo 2022-11-28 2594 ret = ath12k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2595 param_id, param_value); d889913205cf7e Kalle Valo 2022-11-28 2596 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, d889913205cf7e Kalle Valo 2022-11-28 2597 "he oper param: %x set for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2598 param_value, arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2599 d889913205cf7e Kalle Valo 2022-11-28 2600 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2601 ath12k_warn(ar->ab, "Failed to set he oper params %x for VDEV %d: %i\n", d889913205cf7e Kalle Valo 2022-11-28 2602 param_value, arvif->vdev_id, ret); d889913205cf7e Kalle Valo 2022-11-28 2603 } d889913205cf7e Kalle Valo 2022-11-28 2604 } d889913205cf7e Kalle Valo 2022-11-28 2605 d889913205cf7e Kalle Valo 2022-11-28 2606 if (changed & BSS_CHANGED_ERP_CTS_PROT) { d889913205cf7e Kalle Valo 2022-11-28 2607 u32 cts_prot; d889913205cf7e Kalle Valo 2022-11-28 2608 d889913205cf7e Kalle Valo 2022-11-28 2609 cts_prot = !!(info->use_cts_prot); d889913205cf7e Kalle Valo 2022-11-28 2610 param_id = WMI_VDEV_PARAM_PROTECTION_MODE; d889913205cf7e Kalle Valo 2022-11-28 2611 d889913205cf7e Kalle Valo 2022-11-28 2612 if (arvif->is_started) { d889913205cf7e Kalle Valo 2022-11-28 2613 ret = ath12k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2614 param_id, cts_prot); d889913205cf7e Kalle Valo 2022-11-28 2615 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2616 ath12k_warn(ar->ab, "Failed to set CTS prot for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2617 arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2618 else d889913205cf7e Kalle Valo 2022-11-28 2619 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "Set CTS prot: %d for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2620 cts_prot, arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2621 } else { d889913205cf7e Kalle Valo 2022-11-28 2622 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "defer protection mode setup, vdev is not ready yet\n"); d889913205cf7e Kalle Valo 2022-11-28 2623 } d889913205cf7e Kalle Valo 2022-11-28 2624 } d889913205cf7e Kalle Valo 2022-11-28 2625 d889913205cf7e Kalle Valo 2022-11-28 2626 if (changed & BSS_CHANGED_ERP_SLOT) { d889913205cf7e Kalle Valo 2022-11-28 2627 u32 slottime; d889913205cf7e Kalle Valo 2022-11-28 2628 d889913205cf7e Kalle Valo 2022-11-28 2629 if (info->use_short_slot) d889913205cf7e Kalle Valo 2022-11-28 2630 slottime = WMI_VDEV_SLOT_TIME_SHORT; /* 9us */ d889913205cf7e Kalle Valo 2022-11-28 2631 d889913205cf7e Kalle Valo 2022-11-28 2632 else d889913205cf7e Kalle Valo 2022-11-28 2633 slottime = WMI_VDEV_SLOT_TIME_LONG; /* 20us */ d889913205cf7e Kalle Valo 2022-11-28 2634 d889913205cf7e Kalle Valo 2022-11-28 2635 param_id = WMI_VDEV_PARAM_SLOT_TIME; d889913205cf7e Kalle Valo 2022-11-28 2636 ret = ath12k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2637 param_id, slottime); d889913205cf7e Kalle Valo 2022-11-28 2638 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2639 ath12k_warn(ar->ab, "Failed to set erp slot for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2640 arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2641 else d889913205cf7e Kalle Valo 2022-11-28 2642 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, d889913205cf7e Kalle Valo 2022-11-28 2643 "Set slottime: %d for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2644 slottime, arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2645 } d889913205cf7e Kalle Valo 2022-11-28 2646 d889913205cf7e Kalle Valo 2022-11-28 2647 if (changed & BSS_CHANGED_ERP_PREAMBLE) { d889913205cf7e Kalle Valo 2022-11-28 2648 u32 preamble; d889913205cf7e Kalle Valo 2022-11-28 2649 d889913205cf7e Kalle Valo 2022-11-28 2650 if (info->use_short_preamble) d889913205cf7e Kalle Valo 2022-11-28 2651 preamble = WMI_VDEV_PREAMBLE_SHORT; d889913205cf7e Kalle Valo 2022-11-28 2652 else d889913205cf7e Kalle Valo 2022-11-28 2653 preamble = WMI_VDEV_PREAMBLE_LONG; d889913205cf7e Kalle Valo 2022-11-28 2654 d889913205cf7e Kalle Valo 2022-11-28 2655 param_id = WMI_VDEV_PARAM_PREAMBLE; d889913205cf7e Kalle Valo 2022-11-28 2656 ret = ath12k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2657 param_id, preamble); d889913205cf7e Kalle Valo 2022-11-28 2658 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2659 ath12k_warn(ar->ab, "Failed to set preamble for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2660 arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2661 else d889913205cf7e Kalle Valo 2022-11-28 2662 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, d889913205cf7e Kalle Valo 2022-11-28 2663 "Set preamble: %d for VDEV: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2664 preamble, arvif->vdev_id); d889913205cf7e Kalle Valo 2022-11-28 2665 } d889913205cf7e Kalle Valo 2022-11-28 2666 d889913205cf7e Kalle Valo 2022-11-28 2667 if (changed & BSS_CHANGED_ASSOC) { d889913205cf7e Kalle Valo 2022-11-28 2668 if (vif->cfg.assoc) d889913205cf7e Kalle Valo 2022-11-28 2669 ath12k_bss_assoc(hw, vif, info); d889913205cf7e Kalle Valo 2022-11-28 2670 else d889913205cf7e Kalle Valo 2022-11-28 2671 ath12k_bss_disassoc(hw, vif); d889913205cf7e Kalle Valo 2022-11-28 2672 } d889913205cf7e Kalle Valo 2022-11-28 2673 d889913205cf7e Kalle Valo 2022-11-28 2674 if (changed & BSS_CHANGED_TXPOWER) { d889913205cf7e Kalle Valo 2022-11-28 2675 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "mac vdev_id %i txpower %d\n", d889913205cf7e Kalle Valo 2022-11-28 2676 arvif->vdev_id, info->txpower); d889913205cf7e Kalle Valo 2022-11-28 2677 d889913205cf7e Kalle Valo 2022-11-28 2678 arvif->txpower = info->txpower; d889913205cf7e Kalle Valo 2022-11-28 2679 ath12k_mac_txpower_recalc(ar); d889913205cf7e Kalle Valo 2022-11-28 2680 } d889913205cf7e Kalle Valo 2022-11-28 2681 d889913205cf7e Kalle Valo 2022-11-28 2682 if (changed & BSS_CHANGED_MCAST_RATE && d889913205cf7e Kalle Valo 2022-11-28 2683 !ath12k_mac_vif_chan(arvif->vif, &def)) { d889913205cf7e Kalle Valo 2022-11-28 2684 band = def.chan->band; d889913205cf7e Kalle Valo 2022-11-28 2685 mcast_rate = vif->bss_conf.mcast_rate[band]; d889913205cf7e Kalle Valo 2022-11-28 2686 d889913205cf7e Kalle Valo 2022-11-28 2687 if (mcast_rate > 0) d889913205cf7e Kalle Valo 2022-11-28 2688 rateidx = mcast_rate - 1; d889913205cf7e Kalle Valo 2022-11-28 2689 else d889913205cf7e Kalle Valo 2022-11-28 2690 rateidx = ffs(vif->bss_conf.basic_rates) - 1; d889913205cf7e Kalle Valo 2022-11-28 2691 d889913205cf7e Kalle Valo 2022-11-28 2692 if (ar->pdev->cap.supported_bands & WMI_HOST_WLAN_5G_CAP) d889913205cf7e Kalle Valo 2022-11-28 2693 rateidx += ATH12K_MAC_FIRST_OFDM_RATE_IDX; d889913205cf7e Kalle Valo 2022-11-28 2694 d889913205cf7e Kalle Valo 2022-11-28 2695 bitrate = ath12k_legacy_rates[rateidx].bitrate; d889913205cf7e Kalle Valo 2022-11-28 2696 hw_value = ath12k_legacy_rates[rateidx].hw_value; d889913205cf7e Kalle Valo 2022-11-28 2697 d889913205cf7e Kalle Valo 2022-11-28 2698 if (ath12k_mac_bitrate_is_cck(bitrate)) d889913205cf7e Kalle Valo 2022-11-28 2699 preamble = WMI_RATE_PREAMBLE_CCK; d889913205cf7e Kalle Valo 2022-11-28 2700 else d889913205cf7e Kalle Valo 2022-11-28 2701 preamble = WMI_RATE_PREAMBLE_OFDM; d889913205cf7e Kalle Valo 2022-11-28 2702 d889913205cf7e Kalle Valo 2022-11-28 2703 rate = ATH12K_HW_RATE_CODE(hw_value, 0, preamble); d889913205cf7e Kalle Valo 2022-11-28 2704 d889913205cf7e Kalle Valo 2022-11-28 2705 ath12k_dbg(ar->ab, ATH12K_DBG_MAC, d889913205cf7e Kalle Valo 2022-11-28 2706 "mac vdev %d mcast_rate %x\n", d889913205cf7e Kalle Valo 2022-11-28 2707 arvif->vdev_id, rate); d889913205cf7e Kalle Valo 2022-11-28 2708 d889913205cf7e Kalle Valo 2022-11-28 2709 vdev_param = WMI_VDEV_PARAM_MCAST_DATA_RATE; d889913205cf7e Kalle Valo 2022-11-28 2710 ret = ath12k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2711 vdev_param, rate); d889913205cf7e Kalle Valo 2022-11-28 2712 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2713 ath12k_warn(ar->ab, d889913205cf7e Kalle Valo 2022-11-28 2714 "failed to set mcast rate on vdev %i: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2715 arvif->vdev_id, ret); d889913205cf7e Kalle Valo 2022-11-28 2716 d889913205cf7e Kalle Valo 2022-11-28 2717 vdev_param = WMI_VDEV_PARAM_BCAST_DATA_RATE; d889913205cf7e Kalle Valo 2022-11-28 2718 ret = ath12k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2719 vdev_param, rate); d889913205cf7e Kalle Valo 2022-11-28 2720 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2721 ath12k_warn(ar->ab, d889913205cf7e Kalle Valo 2022-11-28 2722 "failed to set bcast rate on vdev %i: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2723 arvif->vdev_id, ret); d889913205cf7e Kalle Valo 2022-11-28 2724 } d889913205cf7e Kalle Valo 2022-11-28 2725 d889913205cf7e Kalle Valo 2022-11-28 2726 if (changed & BSS_CHANGED_BASIC_RATES && d889913205cf7e Kalle Valo 2022-11-28 2727 !ath12k_mac_vif_chan(arvif->vif, &def)) d889913205cf7e Kalle Valo 2022-11-28 2728 ath12k_recalculate_mgmt_rate(ar, vif, &def); d889913205cf7e Kalle Valo 2022-11-28 2729 d889913205cf7e Kalle Valo 2022-11-28 2730 if (changed & BSS_CHANGED_TWT) { d889913205cf7e Kalle Valo 2022-11-28 2731 if (info->twt_requester || info->twt_responder) d889913205cf7e Kalle Valo 2022-11-28 2732 ath12k_wmi_send_twt_enable_cmd(ar, ar->pdev->pdev_id); d889913205cf7e Kalle Valo 2022-11-28 2733 else d889913205cf7e Kalle Valo 2022-11-28 2734 ath12k_wmi_send_twt_disable_cmd(ar, ar->pdev->pdev_id); d889913205cf7e Kalle Valo 2022-11-28 2735 } d889913205cf7e Kalle Valo 2022-11-28 2736 d889913205cf7e Kalle Valo 2022-11-28 2737 if (changed & BSS_CHANGED_HE_OBSS_PD) d889913205cf7e Kalle Valo 2022-11-28 2738 ath12k_wmi_send_obss_spr_cmd(ar, arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2739 &info->he_obss_pd); d889913205cf7e Kalle Valo 2022-11-28 2740 d889913205cf7e Kalle Valo 2022-11-28 2741 if (changed & BSS_CHANGED_HE_BSS_COLOR) { d889913205cf7e Kalle Valo 2022-11-28 2742 if (vif->type == NL80211_IFTYPE_AP) { d889913205cf7e Kalle Valo 2022-11-28 2743 ret = ath12k_wmi_obss_color_cfg_cmd(ar, d889913205cf7e Kalle Valo 2022-11-28 2744 arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2745 info->he_bss_color.color, d889913205cf7e Kalle Valo 2022-11-28 2746 ATH12K_BSS_COLOR_AP_PERIODS, d889913205cf7e Kalle Valo 2022-11-28 2747 info->he_bss_color.enabled); d889913205cf7e Kalle Valo 2022-11-28 2748 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2749 ath12k_warn(ar->ab, "failed to set bss color collision on vdev %i: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2750 arvif->vdev_id, ret); d889913205cf7e Kalle Valo 2022-11-28 2751 } else if (vif->type == NL80211_IFTYPE_STATION) { d889913205cf7e Kalle Valo 2022-11-28 2752 ret = ath12k_wmi_send_bss_color_change_enable_cmd(ar, d889913205cf7e Kalle Valo 2022-11-28 2753 arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2754 1); d889913205cf7e Kalle Valo 2022-11-28 2755 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2756 ath12k_warn(ar->ab, "failed to enable bss color change on vdev %i: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2757 arvif->vdev_id, ret); d889913205cf7e Kalle Valo 2022-11-28 2758 ret = ath12k_wmi_obss_color_cfg_cmd(ar, d889913205cf7e Kalle Valo 2022-11-28 2759 arvif->vdev_id, d889913205cf7e Kalle Valo 2022-11-28 2760 0, d889913205cf7e Kalle Valo 2022-11-28 2761 ATH12K_BSS_COLOR_STA_PERIODS, d889913205cf7e Kalle Valo 2022-11-28 2762 1); d889913205cf7e Kalle Valo 2022-11-28 2763 if (ret) d889913205cf7e Kalle Valo 2022-11-28 2764 ath12k_warn(ar->ab, "failed to set bss color collision on vdev %i: %d\n", d889913205cf7e Kalle Valo 2022-11-28 2765 arvif->vdev_id, ret); d889913205cf7e Kalle Valo 2022-11-28 2766 } d889913205cf7e Kalle Valo 2022-11-28 2767 } d889913205cf7e Kalle Valo 2022-11-28 2768 d889913205cf7e Kalle Valo 2022-11-28 2769 ath12k_mac_fils_discovery(arvif, info); d889913205cf7e Kalle Valo 2022-11-28 2770 07c01b86f21dd4 Aloka Dixit 2023-08-02 @2771 if (changed & BSS_CHANGED_EHT_PUNCTURING) 07c01b86f21dd4 Aloka Dixit 2023-08-02 @2772 arvif->punct_bitmap = info->eht_puncturing; 07c01b86f21dd4 Aloka Dixit 2023-08-02 2773 d889913205cf7e Kalle Valo 2022-11-28 2774 mutex_unlock(&ar->conf_mutex); d889913205cf7e Kalle Valo 2022-11-28 2775 } d889913205cf7e Kalle Valo 2022-11-28 2776 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki