Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp3782514rdb; Sun, 10 Dec 2023 22:22:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IGvy90CNb5bNVAwSjlonQ78dT1i1nhqDYa9dJiV6E73MRuUMA65MAexPKqJ+AM2VJIy6Rmy X-Received: by 2002:ac8:5782:0:b0:425:4043:50e7 with SMTP id v2-20020ac85782000000b00425404350e7mr5854716qta.118.1702275776650; Sun, 10 Dec 2023 22:22:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702275776; cv=none; d=google.com; s=arc-20160816; b=ISwJ9I/t7lYb8EQjfkznzr9ApA8Sot4R98+ArxMmA4eG/L13Hlrj43my1we2tGo+Yo gxwdbjKy9F05Ohb6LWKMfOBGDzbDR6jcL/SEFLc/BtwxzD9AcGipRZJrikAl2VqDQ4DQ 70X9n0yFmOvxsAYRfB3Op49dAGQXljsiz4/CWqpAE1qFkk76bs4Z2VDwJLWROd7kaUxk Os2Rli82E/Vm4ZoRUL/ebuWgATzz7QduOzHudaGwC1ymZBlPHm1cp+7ePQa9oLz+sK1z KNxNFGJNFrrrzp2b58CaKEk+OiDalNIfmzerSRJgNk/on8VpHYMyjoE6EUbqvkTln5Dn g/Kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=4jB9qhWyBQacbNKS0+LBQNU6ymI/3UrW8WIa3Z11Srg=; fh=HNEfiow5aIDtnUkYYiB/tbonwaEcG8+i6SMa583BOko=; b=btCAA4xxjQ7ezwqmZVhkt5MNl6PritfmIwPAaMfVet8BwZcfdZbC3u40ofwJs+20v9 sBbR/ioG+1GXYK+GPfOl8whE20mAIgwkRFmZJ7KYClXOE85ksvDXO/LfGbpkyAFKw4Ue OjFReWtLgJXPr5KEbbXedEHYr+ZqQOOfxef6Bos4bhyUfFgMclJ7vQPPfxbibQ2hMjLi uxAuqteb99EHG+MVx8McfrtSOGlkN+Uwx42/c3hMcQuB0ixNVkm7+BHMzI17YUMmajCF XsxG6YFsbI7IlXFrwa3Gw8O0YrXhJsD7ltj/k1ruXpszr1O9/NAp8Ncg+kuFeDe2Vesb JClQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=fITCq7r2; spf=pass (google.com: domain of linux-wireless+bounces-622-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-wireless+bounces-622-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id d12-20020a05622a100c00b00425a5609949si6707780qte.261.2023.12.10.22.22.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 Dec 2023 22:22:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless+bounces-622-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=fITCq7r2; spf=pass (google.com: domain of linux-wireless+bounces-622-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-wireless+bounces-622-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 6A3E71C20342 for ; Mon, 11 Dec 2023 06:22:56 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 12027200BD; Mon, 11 Dec 2023 06:22:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="fITCq7r2" X-Original-To: linux-wireless@vger.kernel.org Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 83668CD for ; Sun, 10 Dec 2023 22:22:35 -0800 (PST) Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 3BB6J0Up014775; Mon, 11 Dec 2023 06:22:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s= qcppdkim1; bh=4jB9qhWyBQacbNKS0+LBQNU6ymI/3UrW8WIa3Z11Srg=; b=fI TCq7r2MySudv8x9fcn1h3jReE4yj5zMcmcL/9YMhffWW/C15bKGn+NIK8vu3ZoiU u+0ulI4e/R33hTFt8dqiIQHB3QRk/hNfZ+wvNcaAePgTjCltYObP7uI2r2aqzwSj xpsb+vK34d9fV31PJAY2lVTkY7YBZjcL+5fM8HGElQWFT3j2veco+GZ/07EqaKQa o2694O2AiiFj7zFsyDy4Be7TNCJlm2NrnEv4GMrqEIzQcp1rlUa2oYNF+J4vHolQ 0Ki1aeg/7cIdvpNogQ9fz5IJR0NLZ5JQXusQasw9vNAzuwIq0k3W4d2b05KFcH3M j4Jv6WvqjTOvGFpNZ0pQ== Received: from nalasppmta04.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3uvnfjaeka-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 11 Dec 2023 06:22:33 +0000 (GMT) Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196]) by NALASPPMTA04.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 3BB6MXwl029375 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 11 Dec 2023 06:22:33 GMT Received: from bqiang-Celadon-RN.qca.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Sun, 10 Dec 2023 22:22:31 -0800 From: Baochen Qiang To: CC: Subject: [PATCH v9 05/12] wifi: ath11k: update regulatory rules when connect to AP on 6 GHz band for station Date: Mon, 11 Dec 2023 14:22:09 +0800 Message-ID: <20231211062216.382164-6-quic_bqiang@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231211062216.382164-1-quic_bqiang@quicinc.com> References: <20231211062216.382164-1-quic_bqiang@quicinc.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: fXJbCtrE8cgtNA6Bm-5J1j5pTpwHV-ep X-Proofpoint-GUID: fXJbCtrE8cgtNA6Bm-5J1j5pTpwHV-ep X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-12-09_01,2023-12-07_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 phishscore=0 spamscore=0 adultscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 bulkscore=0 mlxlogscore=999 lowpriorityscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2311290000 definitions=main-2312110051 From: Wen Gong When station connect to AP on 6 GHz band, it needs switch the regulatory rules according to the regulatory info sub field in HE operation element. Switch to the power type which AP used for station interface. Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23 Signed-off-by: Wen Gong Acked-by: Jeff Johnson Signed-off-by: Baochen Qiang --- v9: no change. v8: no change. v7: 1. return -EINVAL for IEEE80211_REG_UNSET_AP. drivers/net/wireless/ath/ath11k/mac.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c index 1e314fcab41b..b6ca6fb801f8 100644 --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c @@ -7613,6 +7613,8 @@ ath11k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw, struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); int ret; struct peer_create_params param; + struct cur_regulatory_info *reg_info; + enum ieee80211_ap_reg_power power_type; mutex_lock(&ar->conf_mutex); @@ -7620,6 +7622,20 @@ ath11k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw, "chanctx assign ptr %p vdev_id %i\n", ctx, arvif->vdev_id); + if (ath11k_wmi_supports_6ghz_cc_ext(ar) && + ctx->def.chan->band == NL80211_BAND_6GHZ && + arvif->vdev_type == WMI_VDEV_TYPE_STA) { + reg_info = &ab->reg_info_store[ar->pdev_idx]; + power_type = vif->bss_conf.power_type; + ath11k_dbg(ab, ATH11K_DBG_MAC, "mac chanctx power type %d\n", + power_type); + if (power_type == IEEE80211_REG_UNSET_AP) { + ret = -EINVAL; + goto out; + } + ath11k_reg_handle_chan_list(ab, reg_info, power_type); + } + /* for QCA6390 bss peer must be created before vdev_start */ if (ab->hw_params.vdev_start_delay && arvif->vdev_type != WMI_VDEV_TYPE_AP && -- 2.25.1