[PATCH ath-next v1] wifi: ath11k: Fix failure to connect to a 6 GHz AP

Qian Zhang qian.zhang at oss.qualcomm.com
Wed Jan 7 01:32:49 PST 2026


On Wed, Jan 7, 2026 at 4:31 PM Baochen Qiang
<baochen.qiang at oss.qualcomm.com> wrote:
>
>
>
> On 1/7/2026 4:23 PM, Baochen Qiang wrote:
> >
> >
> > On 1/7/2026 2:02 PM, Qian Zhang wrote:
> >> STA fails to connect to a 6 GHz AP with the following errors:
> >>  ath11k_pci 0000:01:00.0: failed to handle chan list with power type 1
> >>  wlp1s0: deauthenticating from c8:a3:e8:dd:41:e3 by local choice (Reason: 3=DEAUTH_LEAVING)
> >>
> >> ath11k_reg_handle_chan_list() treats the update as redundant and
> >> returns -EINVAL. That causes the connection attempt to fail.
> >>
> >> Avoid unnecessary validation during association. Apply the regulatory
> >> redundant check only when the power type is IEEE80211_REG_UNSET_AP,
> >> which only occurs during core initialization.
> >>
> >> Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.41
> >>
> >> Signed-off-by: Qian Zhang <qian.zhang at oss.qualcomm.com>
> >> ---
> >>  drivers/net/wireless/ath/ath11k/reg.c | 9 ++++++---
> >>  1 file changed, 6 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/net/wireless/ath/ath11k/reg.c b/drivers/net/wireless/ath/ath11k/reg.c
> >> index d62a2014315a..8786ca3870fc 100644
> >> --- a/drivers/net/wireless/ath/ath11k/reg.c
> >> +++ b/drivers/net/wireless/ath/ath11k/reg.c
> >> @@ -1,7 +1,7 @@
> >>  // SPDX-License-Identifier: BSD-3-Clause-Clear
> >>  /*
> >>   * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
> >> - * Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved.
> >> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> >>   */
> >>  #include <linux/rtnetlink.h>
> >>
> >> @@ -926,8 +926,11 @@ int ath11k_reg_handle_chan_list(struct ath11k_base *ab,
> >>       */
> >>      if (ab->default_regd[pdev_idx] && !ab->new_regd[pdev_idx] &&
> >>          !memcmp((char *)ab->default_regd[pdev_idx]->alpha2,
> >> -                (char *)reg_info->alpha2, 2))
> >> -            goto retfail;
> >> +                (char *)reg_info->alpha2, 2)) {
> >> +            if (power_type == IEEE80211_REG_UNSET_AP)
> >> +                    ath11k_reg_reset_info(reg_info);
> >> +            return 0;
> >> +    }
> >>
> >>      /* Intersect new rules with default regd if a new country setting was
> >>       * requested, i.e a default regd was already set during initialization
> >>
> >> base-commit: e33fc1c6d54ee1569a57255e11c2978ba9a42ffc
> >
> > Reviewed-by: Baochen Qiang <baochen.qiang at oss.qualcomm.com>
>
> Withdraw my above tag as the code has some issues.
>
> We should only return in IEEE80211_REG_UNSET_AP cases. For other types we should go on to
> build a new regdomain.
>
Will fix the issue in a new patch.

Thanks,
Qian
> >
>



More information about the ath11k mailing list