From nobody Sun Dec 14 08:06:53 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B489D215F7C for ; Tue, 4 Feb 2025 17:05:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688727; cv=none; b=YmKegkGhh1ZsWoyVT1FLw10uH8Ml8BhtfUqd7QeMlOCTaSwAN+ytpY+EJDtLsulsGi0hrfTts25GPKkt3pnGMgZDaidRgUVGuF2Gysh9Bcp5QXnd7W2/jeqbGEgqKRPkUmD6UCWjPF1+75PzLbNhwF5QnJNfhK8HAt8gnIyNQBA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688727; c=relaxed/simple; bh=2zaqtMLmaEiFWQIT21mk66I0QwlyJgIFFDVjO5lJIGE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jWK70w+UckktH4/imK2jn2lfd/N8MK4X7Yk6F62KAuM4e240172T/s1AT/p2DK4pQwJwXa1JFdRzVKKR04353nbuGQlwfj6GNxeRT1UnHR5+6JWVoBsS2BJX+vdsh+To+r3z5Riraqa9bADliJ0gG9JpImCpnwxgJ0NdXF+riUk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=molv57UD; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="molv57UD" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 514EWWLU016940 for ; Tue, 4 Feb 2025 17:05:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= hBnMagGnfmOlAsemSbgdCgpnsrubY8Yw3Y2FnZmojeU=; b=molv57UDlDd9WkLo 8+qC7qFNNgf0wJw6FWgrscoHiGd7NMQM0zYffu+zBU91gM+o+FKpl1/rgRTQkG7J 7dN5ghgdKcp90NFnsx/LjT/xigoGt2nY8isNfzEcLdg4nnx++RpNLzMnCINKOI6O rOPxij9vONyloAgdaT8CtwKmyt1rt2U0RLdEDsYhZaWMcV5kifbpTPYB4wiprEEn CiMPfSHJTTgvbcbz7q2iUH9LDkHbsTUVnuTkvv8TadS5s+XT+AN7HfRoYbkajz1q vUbr+9Hy1+4/I9hHLvzvSK3/AS9WZDgslcDtFjSFepQy8TAQ1G2YrRugJpYslZsU tlf/LQ== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 44kmre0ck8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 04 Feb 2025 17:05:25 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-2ef6ef9ba3fso11260335a91.2 for ; Tue, 04 Feb 2025 09:05:24 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738688724; x=1739293524; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hBnMagGnfmOlAsemSbgdCgpnsrubY8Yw3Y2FnZmojeU=; b=ExOi6THiCgMaE8kLb/18W3W6PqxuGqxOT620ER35VXVyg/cZfwRTDUoNN9OOGe+iwc AArjbCLgBsVi34O5JmkPFC6l5HA38xBKYUXpS0hXKQV7uhFQc9NxLFSoC8i37W9K1F06 TPMbidJuza9RELZbRxIT7HuyGdct3H3XVHm87llYX0aDa9uvSPoyzaFiaPVujZB1Gsx2 0JtZLoG4n93CSGE5FIJPT3BNzYP893UYm/1rGiuBW8c+8FtmoJUp0z52C+SxhaTYdsbK 2ZOamukq1OfMiHAMWHKRstYR2JFLGaCUM6OBSLZyFG2ruaJ5f6ihus5ewrZSEvxsyvRP Cjpg== X-Forwarded-Encrypted: i=1; AJvYcCUQb3sjGrU2VGmRBd9Umwf+/h/PrGVcWbZ1RdkkA3LBc+jT+i8vGzk+Lgq2U5Gpgg7y7d0eYX8eEXXkHMI=@vger.kernel.org X-Gm-Message-State: AOJu0YxvAoyuxQecI2wMBtZ5w2NTqkvIH1gshwvh1nY5xfAQG71603NL IJ25K21oBWWs7tGRGT20Ni5QKfYS6qP+48bAzftB9x2C2efNHiOsQ8wPo6D9HcRaJUDbos+GuuH FvnpoaI/UvFVllOieIbDsCdqFf5BR5J6QAYR6V0uPoTHOB5Lp9CjjlojQ2npRv71JCdIw8dM= X-Gm-Gg: ASbGncvVjRTzwu0BIZADKDhwmVtt9hyUQQJ8oE4oJga523aogBCaiF5kT6wMYnoBP8B yHaMGfybER06mrJwswXD9GfZiCsNxveAQ+WAqu1rQFxn5206oqEYqSxy3waMM3OlAUiNpcRT++f 0Sg0igu16bCgyM1IWJ9Fkxd0nthzM4qMuB+794H07jrWJl22m88vs7EIeXN5Y7Mier0UGt4vhJu Om/gattkvDN+B1CEC1LDUuXXfUymu6dIvSiXdpLWDq7fJZDbS6DxOAbnnQ5B00chutLfbsGIYJx FC9WwyGaAftwNLryhV6pFYPbXQ9YYKS5hFOOOAc4yw43LmVAZDxSL7Wr55evN99iTuSugLKKZoN WH30sBqY2p1/AmKhkCKTKyj4QPlLLCQ== X-Received: by 2002:a05:6a00:b4b:b0:729:1b8f:9645 with SMTP id d2e1a72fcca58-72fd0c7f7camr40884088b3a.24.1738688722381; Tue, 04 Feb 2025 09:05:22 -0800 (PST) X-Google-Smtp-Source: AGHT+IG/o0PDFYKduJ/WFg5MTpCskunjYwzsD7hxpDVDXG2wzp3GnoR6788Fy5nXVsJL9b4i/RBxvg== X-Received: by 2002:a05:6a00:b4b:b0:729:1b8f:9645 with SMTP id d2e1a72fcca58-72fd0c7f7camr40883896b3a.24.1738688720498; Tue, 04 Feb 2025 09:05:20 -0800 (PST) Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69cddbbsm10772788b3a.125.2025.02.04.09.05.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:05:20 -0800 (PST) From: Aditya Kumar Singh Date: Tue, 04 Feb 2025 22:35:07 +0530 Subject: [PATCH v2 1/8] wifi: ath12k: eliminate redundant debug mask check in ath12k_dbg() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250204-unlink_link_arvif_from_chanctx-v2-1-764fb5973c1a@oss.qualcomm.com> References: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> In-Reply-To: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> To: Kalle Valo , Jeff Johnson Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org, Vasanthakumar Thiagarajan , Aditya Kumar Singh X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: h8S4H9GPLN0tnSKyVSGtLBwM0RHYrotM X-Proofpoint-GUID: h8S4H9GPLN0tnSKyVSGtLBwM0RHYrotM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-04_08,2025-02-04_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 adultscore=0 impostorscore=0 malwarescore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 priorityscore=1501 mlxscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2501170000 definitions=main-2502040132 The current implementation includes a debug mask check both in the macro expansion and in the function __ath12k_dbg(), which is unnecessary. Simplify the code by removing the redundant check from the helper function __ath12k_dbg(). While at this, rename the first argument in macro from ar to ab since the first argument name in the function __ath12k_dbg() is ab. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 Reviewed-by: Vasanthakumar Thiagarajan Signed-off-by: Aditya Kumar Singh Tested-by: Nicolas Escande --- drivers/net/wireless/ath/ath12k/debug.c | 5 ++--- drivers/net/wireless/ath/ath12k/debug.h | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/ath/ath12k/debug.c b/drivers/net/wireless= /ath/ath12k/debug.c index ff6eaeafa092cd12e572430ed0f1c7aa21b78377..fd9796b5ad3b9feea5c7e78e8a8= 8d361049e08df 100644 --- a/drivers/net/wireless/ath/ath12k/debug.c +++ b/drivers/net/wireless/ath/ath12k/debug.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: BSD-3-Clause-Clear /* * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved. - * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights res= erved. + * Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights res= erved. */ =20 #include @@ -63,8 +63,7 @@ void __ath12k_dbg(struct ath12k_base *ab, enum ath12k_deb= ug_mask mask, vaf.fmt =3D fmt; vaf.va =3D &args; =20 - if (ath12k_debug_mask & mask) - dev_printk(KERN_DEBUG, ab->dev, "%pV", &vaf); + dev_printk(KERN_DEBUG, ab->dev, "%pV", &vaf); =20 /* TODO: trace log */ =20 diff --git a/drivers/net/wireless/ath/ath12k/debug.h b/drivers/net/wireless= /ath/ath12k/debug.h index 0aa7c8ccb14ccb9de28a78ca3d2b2a7bf6e481c1..ba0e4da3bb761a49fb81e3efcb6= 1557df8ad1942 100644 --- a/drivers/net/wireless/ath/ath12k/debug.h +++ b/drivers/net/wireless/ath/ath12k/debug.h @@ -62,11 +62,11 @@ static inline void ath12k_dbg_dump(struct ath12k_base *= ab, } #endif /* CONFIG_ATH12K_DEBUG */ =20 -#define ath12k_dbg(ar, dbg_mask, fmt, ...) \ +#define ath12k_dbg(ab, dbg_mask, fmt, ...) \ do { \ typeof(dbg_mask) mask =3D (dbg_mask); \ if (ath12k_debug_mask & mask) \ - __ath12k_dbg(ar, mask, fmt, ##__VA_ARGS__); \ + __ath12k_dbg(ab, mask, fmt, ##__VA_ARGS__); \ } while (0) =20 #endif /* _ATH12K_DEBUG_H_ */ --=20 2.34.1 From nobody Sun Dec 14 08:06:53 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4765F215F79 for ; Tue, 4 Feb 2025 17:05:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688726; cv=none; b=PY1vcbfXS69vMmvGJ6EPLYauC04xXz/NsbFmN31mVXybfo0tTTgVNsUjLSKcLeSu9X+nxMP9WWUtmShh/IdfmVM5mtkQm8GHfu70ekUJEWpP581KcHk1srsVGRmQbqYflMjcLQvJXK8OxZfFeaYuNnDYip8+b0dTKsaW06MU4ws= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688726; c=relaxed/simple; bh=p2bnHhOqSQIqgPShAaS9ItDs7yJenHwaRLnyeqoEQt8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Dkm/QWBsMSFrC6lo1DGEUwocC4cijx9i/FoBGvjHgwqlPMHTcr5/UrSjTfESVRu4zceLa52TTsM712BFjNj6vN6mNauwfsfEHB+ONcH3/lVKUmvyGUpWfqwczi1I0IM2Wh0UD4h2pAgsgic4OBwoCKPsHO05N3x86gsSz2g3Z7I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=my25fFqz; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="my25fFqz" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5148WQ56010105 for ; Tue, 4 Feb 2025 17:05:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= WrKlYNONBm1r5bugr0RbvCDOyfxt2kBDOYEM2pahFGQ=; b=my25fFqzDZynRTF8 ZtTiLNJPyBxvtgiqAsyOKWNfPCjzCIv/IX07UbjuhJ/snfG/5buEQwT1CBhE3Jcf 9R74YKkfk0JeX3e91tdHUGLcJ15zsAvyxDKm+3DcVESp/3Lk1QgQ/BYjM/bgnDkC WuI0DX9yTygNeAH18B6GyOtKYabAW07LL0/Y5WlfRh7ScLBuAglCtOkg7SQEh1oW 9NbhfDMByfutDseivc9BXZzT6+fQLv5hZV8239EL3Ca1OgosqIrb2cKrtPi5k2cu pq2kU83PZ7krmU3pwNunafkSMAaO+CH2EQBq0+1TFC68ojyu2L1NgTRGwil5ijVf QPByUw== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 44kffnh8k3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 04 Feb 2025 17:05:24 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2167141e00eso136282795ad.2 for ; Tue, 04 Feb 2025 09:05:24 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738688723; x=1739293523; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WrKlYNONBm1r5bugr0RbvCDOyfxt2kBDOYEM2pahFGQ=; b=vXzIpb1n/FvLBObVo57y3vteq9/DtWIVOLG7ncDftWUrfykJKyfxGqau1/Q+1iQHB0 FVIIH0bCFX2B1nPobA0GsIac3qcLYHW63B/4ORBuBsbkPlMxm79OhgYCxMjARw83jBfg X8lrN2R0FCb33Jq/87NMZ24pSsgvVMYqgrhMRulYe65ghNTolNcJs3bVRyNm+W+O99/1 cfMnq2GuD8MibvZqa9wDpgwiY3Ixt4Eq1sJ56gFW0ttI9oDMEQDujLvGDgio8f2GLumm gDyAvpaMegkdnLmn4oxiO6vfKLtJ73W6yXojBLW/igtjMmI5qYC6qTJwVTm3NxSD4AON HAqg== X-Forwarded-Encrypted: i=1; AJvYcCVJ8yRLxmWBgxqe3Lo04a0lOBKM7P3PI4MbAShmjBTWn/Uf0sRaVjyGSBPq0odPox6I8MX+KT0EDEGwHSg=@vger.kernel.org X-Gm-Message-State: AOJu0Yze0kiuGVFuE8bfZTeYRTCPbmpQB/D/AHnojSUZDmmpMMbCOYg7 WHFDd+GbMSS73wiQ4JZMTB7Q37WMkcOncA2cstnlBdTRpIkL5fNHHN+UNzvXainr+CzzwovjupL R9v5lK4H03FKBozULNJeRyss54CGOVbuzD/e91XDtuai/KfqS4aSyLCBhsc9stII= X-Gm-Gg: ASbGncvWjebvoM/6B/I/Yq4ex7O0gvlAj3SwtTI3k4cibMzn6/K5SXBSRXgSBLzrN+G +ifBYglsakiDoq6eCbSXj+0xqYTbz91GyBtKvjZ3yFdNw3RPfEzdOsocqsiaHcXPPiTjoqrBFq8 EiignadM2UdoODj7uoBjkcxYtaHJbiNv6JRrzc+DYdTCSECpi/6fPm7EEbRPwaWNHiUoamy3/pu pWLEXeCIi4EIm8AapMrpuOgp4g3KBPEDpHYRT+IS2amKSMprHNAYick7zjVnMZfzjliCoxgML0M kJ1emqOAQEseKfUiKRdAVKS47zXNj4x9hKALUMd8xpzVKxN6Q/zjP12795M6jNiTVxP7uNtXNZY j29NydeLgmm3xSYU865gvc0Jh+CvjVQ== X-Received: by 2002:a05:6a20:9152:b0:1e1:9662:a6f2 with SMTP id adf61e73a8af0-1ed7a6e0b73mr38361970637.35.1738688723421; Tue, 04 Feb 2025 09:05:23 -0800 (PST) X-Google-Smtp-Source: AGHT+IFTnmMsoLQ66Rol4cur40Q4wmBOZ7g7tduU57E52w28CdMb1zHUBV1eaCLvbB3xc7hYjBqb7g== X-Received: by 2002:a05:6a20:9152:b0:1e1:9662:a6f2 with SMTP id adf61e73a8af0-1ed7a6e0b73mr38361931637.35.1738688723004; Tue, 04 Feb 2025 09:05:23 -0800 (PST) Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69cddbbsm10772788b3a.125.2025.02.04.09.05.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:05:22 -0800 (PST) From: Aditya Kumar Singh Date: Tue, 04 Feb 2025 22:35:08 +0530 Subject: [PATCH v2 2/8] wifi: ath12k: introduce ath12k_generic_dbg() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250204-unlink_link_arvif_from_chanctx-v2-2-764fb5973c1a@oss.qualcomm.com> References: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> In-Reply-To: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> To: Kalle Valo , Jeff Johnson Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org, Vasanthakumar Thiagarajan , Aditya Kumar Singh X-Mailer: b4 0.14.2 X-Proofpoint-GUID: tB7_6m5HqiqcuHbA72IzqttWZ2dGE0qO X-Proofpoint-ORIG-GUID: tB7_6m5HqiqcuHbA72IzqttWZ2dGE0qO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-04_08,2025-02-04_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 impostorscore=0 mlxlogscore=999 spamscore=0 phishscore=0 clxscore=1015 bulkscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2501170000 definitions=main-2502040132 There might be instances where ath12k_dbg() is needed, but access to struct ath12k_base (ab) is not readily available. To address this, add support to print the debug message using printk() when ab is not present. To avoid the need to explicitly pass NULL each time, introduce a new macro ath12k_generic_dbg() which resolves to ath12k_dbg() with ab set to NULL. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 Reviewed-by: Vasanthakumar Thiagarajan Signed-off-by: Aditya Kumar Singh Tested-by: Nicolas Escande --- drivers/net/wireless/ath/ath12k/debug.c | 5 ++++- drivers/net/wireless/ath/ath12k/debug.h | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/ath/ath12k/debug.c b/drivers/net/wireless= /ath/ath12k/debug.c index fd9796b5ad3b9feea5c7e78e8a88d361049e08df..5ce100cd9a9d16f7fcc2dc0a552= 2b341ebbff8a3 100644 --- a/drivers/net/wireless/ath/ath12k/debug.c +++ b/drivers/net/wireless/ath/ath12k/debug.c @@ -63,7 +63,10 @@ void __ath12k_dbg(struct ath12k_base *ab, enum ath12k_de= bug_mask mask, vaf.fmt =3D fmt; vaf.va =3D &args; =20 - dev_printk(KERN_DEBUG, ab->dev, "%pV", &vaf); + if (likely(ab)) + dev_printk(KERN_DEBUG, ab->dev, "%pV", &vaf); + else + printk(KERN_DEBUG "ath12k: %pV", &vaf); =20 /* TODO: trace log */ =20 diff --git a/drivers/net/wireless/ath/ath12k/debug.h b/drivers/net/wireless= /ath/ath12k/debug.h index ba0e4da3bb761a49fb81e3efcb61557df8ad1942..48916e4e1f6014055bbd56d5c71= ef9182c78f3b6 100644 --- a/drivers/net/wireless/ath/ath12k/debug.h +++ b/drivers/net/wireless/ath/ath12k/debug.h @@ -69,4 +69,7 @@ do { \ __ath12k_dbg(ab, mask, fmt, ##__VA_ARGS__); \ } while (0) =20 +#define ath12k_generic_dbg(dbg_mask, fmt, ...) \ + ath12k_dbg(NULL, dbg_mask, fmt, ##__VA_ARGS__) + #endif /* _ATH12K_DEBUG_H_ */ --=20 2.34.1 From nobody Sun Dec 14 08:06:53 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6E00D21639A for ; Tue, 4 Feb 2025 17:05:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688728; cv=none; b=JL+bfGD2Xl4JTeAQYYUfo6nNeyHsOve8I4dofF5DN7dRt4ae4qY7R1843v8f47pCzQKr28PKB8f6AMLIkNzwea6A1EV1F6k7RatlvUGLTAIDn2DJMllyIAV6JFQhKzE8/JECswe7QRSMckTcwKo8AkUkc/0N/CN5g6Oe/IOaDm0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688728; c=relaxed/simple; bh=dM4Q91rzLBnr4OE5cBXEjGA2EQ/BqqgE9G/59+YtMoY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BiCAowx3RK7YS/GnBHPuzdhKuRNahQLei3wqA0SA9uPjVy/Cx0Oobog+zO0OpIAu2jA+5H3vqMY5+Vsf1/+22E0ujZTbTMu8v+WVzU3RgQLx8rWT5KfTtyd+ZFZgRt8EByEYp52eiMif9wo4fADG9zxYjGZ8jj9TyfTumxRxIKA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=RUKL34PU; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="RUKL34PU" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 514EWYci016950 for ; Tue, 4 Feb 2025 17:05:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= yQTyuAWmUFPgAQKIR4TL14IlRB58wBIAJ8OSjdQfdm4=; b=RUKL34PUZSk4/Avq Ki8be12eYAOTP6ZCwht519p5q4Dm/Kg/GV7q9izxwXxg6SKfmRcdDETcO7zRrw1Q uEOCsfrO+HKexurJYBDfNZENiyF0gDd48XhqvMSg9lVROdRDHHs6ynvOeTBnsCUq 1rtrbNUxzELOPItn7vhzJ7jJxscPtS06PQt5LrULMuKjPymQEX/zzECQQ4bgnfD5 h2k8MimYLk9biKi6gf4K9EQuLCbs5SAB/o4qYaFHXXIB5+RVI0QrEOMjHzF9G4NM xY5pAlVgQKHP0cLa4mj059MyNWHJkEIuNb2bBA146CMoO+8xTHZRcctPRIWsTLKs WAhWMA== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 44kmre0cke-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 04 Feb 2025 17:05:26 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-2efc3292021so16516241a91.1 for ; Tue, 04 Feb 2025 09:05:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738688726; x=1739293526; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yQTyuAWmUFPgAQKIR4TL14IlRB58wBIAJ8OSjdQfdm4=; b=P7RK/IHfZ1j9ld3i7b5Jvy8p0dQnOlh61MAee9c8SXonPMz8GDFr7j8u51+xETOwp4 504/bnAb2H0YDHPrP8vrenlHHprfyEv+W+LHskKf8ESrjG9tuyAsj83B3SAPtPIYTfIg 19cYTBdAUGGG/SWJBwElUOJczVn118cT25AgYhTxFN6qE8e9OzmcYR0jQKFc9LbSAyX2 L0AYZcBUrWqQIAHOr+sa5adqK4XlQD+2MkQDyHLxFarlaLIeefkO/ambV4Zrqt9W92T7 QU4Q+4tKjHqCbhTXbtuki3X4z1uGxo2c94yyscJlUJuEL+9fF7RiFPJFRRRQ6dxDtlFV PsPA== X-Forwarded-Encrypted: i=1; AJvYcCWigg2Xs8Vb5mrj+gsgDyQ3OwIDba1nzLR66Ftg7bE3slmnqEngmWU0Gven7UcD41oIOQpGj9B8PR6F62U=@vger.kernel.org X-Gm-Message-State: AOJu0Yyz7GZDlqfuVREdACJ6D6Tj5Rs9VELDhf10HeBp/mIKTufEe5+d USrq74oD4pTEVMXgA8ES7Ow2cwfAoG0hsyCNCadBAJt/NaxiQQc+VBMlw2LJ+E6nFIKHJvJRLRu peF/WGKRuJOJbWFLLS3ZEkM6qLLA1JjsWvqS5SAAZPzd1GvK6NZrdwVRSdXaux1A= X-Gm-Gg: ASbGncvPFgRuBUnvg2BNkBGPoNkMBp/b81XH2vX3kMIAtXUFGJKuq6k9aE1puZcV34u 51vB+FflOO78cwuY7VJvRQe8d2ZW9DAnkFm6j9yOZ1P6+f0BlTIUjyLdhrKhjJ/kDJM5mPToknr oLTiQJpWd7jUqXIMPmQA61iR7SaBNlBTr0BEe9N2etk7B8kWkQA7bwGYIsMBlCxXzMdeuweJG90 u1PEz/TOPyqWve9nrN6asrlm14WTWYSqMfkZoz/mY8oPP/H8J844czZVBwfpUAmET/4P7ge3wkJ R/uZwzIXuaaDPaVG8t6E0DODy6R9H6hnr2cO5tnpQWKz2KuN/Hxf3wTw3h7rXm4v4PhVQrJIanX t7aQ7eisN8gS/HZL03NZsfA0PVpqFAA== X-Received: by 2002:a05:6a00:928d:b0:727:3b77:4174 with SMTP id d2e1a72fcca58-72fd0c7f7bfmr40485140b3a.23.1738688725894; Tue, 04 Feb 2025 09:05:25 -0800 (PST) X-Google-Smtp-Source: AGHT+IEWwMmLGyTw18js8RIrutWNTN4NIewNUcg9CwPYOFLN7vXFURF6WhyJs710xW0ZmzHIAw3JFQ== X-Received: by 2002:a05:6a00:928d:b0:727:3b77:4174 with SMTP id d2e1a72fcca58-72fd0c7f7bfmr40485107b3a.23.1738688725498; Tue, 04 Feb 2025 09:05:25 -0800 (PST) Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69cddbbsm10772788b3a.125.2025.02.04.09.05.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:05:25 -0800 (PST) From: Aditya Kumar Singh Date: Tue, 04 Feb 2025 22:35:09 +0530 Subject: [PATCH v2 3/8] wifi: ath12k: remove redundant vif settings during link interface creation Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250204-unlink_link_arvif_from_chanctx-v2-3-764fb5973c1a@oss.qualcomm.com> References: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> In-Reply-To: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> To: Kalle Valo , Jeff Johnson Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org, Vasanthakumar Thiagarajan , Aditya Kumar Singh X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: C3PAyNTpzqI_878Ay8PoXYZlBzhKPx_S X-Proofpoint-GUID: C3PAyNTpzqI_878Ay8PoXYZlBzhKPx_S X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-04_08,2025-02-04_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 adultscore=0 impostorscore=0 malwarescore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 priorityscore=1501 mlxscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2501170000 definitions=main-2502040132 Currently, vif level settings are done in ath12k_mac_assign_link_vif() as well as in ath12k_mac_op_add_interface(). Since it is vif level settings, doing this on per link does not make sense and it contributes to redundant code. Get rid of this redundant code from ath12k_mac_assign_link_vif(). Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 Reviewed-by: Vasanthakumar Thiagarajan Signed-off-by: Aditya Kumar Singh Tested-by: Nicolas Escande --- drivers/net/wireless/ath/ath12k/mac.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/a= th/ath12k/mac.c index 16e6f2fae943d3fa6a46ab1ba6780c9070418279..7defc2b20fb61dcaec06d0e332c= 48a1b6cd2f5d6 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -4022,13 +4022,6 @@ static struct ath12k_link_vif *ath12k_mac_assign_lin= k_vif(struct ath12k_hw *ah, sizeof(arvif->bitrate_mask.control[i].vht_mcs)); } =20 - /* Allocate Default Queue now and reassign during actual vdev create */ - vif->cab_queue =3D ATH12K_HW_DEFAULT_QUEUE; - for (i =3D 0; i < ARRAY_SIZE(vif->hw_queue); i++) - vif->hw_queue[i] =3D ATH12K_HW_DEFAULT_QUEUE; - - vif->driver_flags |=3D IEEE80211_VIF_SUPPORTS_UAPSD; - rcu_assign_pointer(ahvif->link[arvif->link_id], arvif); ahvif->links_map |=3D BIT(link_id); synchronize_rcu(); --=20 2.34.1 From nobody Sun Dec 14 08:06:53 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B6D4216611 for ; Tue, 4 Feb 2025 17:05:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688735; cv=none; b=jAXxQdJZBvi/dwkw8TT04iFClDHMG6XpuDvbmOxKyCoD6qvz1OVl0h4IVklcYBMsynLSkDt5DCDBPeGyPyaJD32SW1BAcZQqog71T9WZ5P6/feUnnSJVn+yfn8Ci9GWEtSUHHrWIhGPlJoZl5UjyPl5LxMyomCSdEgXFaiWWpC8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688735; c=relaxed/simple; bh=5m9D3okHYC52yuqw3igqQ23OrYpATKiC13aUYPGPyE8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UqH+FFl8FSQlpLv59p3QXXTCZhU6GQym52NiUuDsgRBL8aXabNXVu/7vw7D30G+CXsvq9QberxP0MbUPwN5D8iN0t/WUow1FuHC31mdP1h17YLKf57BkRsfP/TEAL7Apm4Beaca5+CTrokVqzvof2JwC5X+mLU4x3NrLvolBpEU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=QPuIK44Y; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="QPuIK44Y" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5147GcjM011205 for ; Tue, 4 Feb 2025 17:05:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= OL/QcLRIJh0ky121SiQIUudqZdpTL1YzhtN9uKN3Eyw=; b=QPuIK44YH2E+/SjH CNBlWWhcTrMxRA6kdQoh8urr66IGa9/MiJCxswKEaxk44ecejCbSARlTDmyXfre2 hzwcoOQskv2P1+fmNzmsyPo9KB+t6v6G1Tjv4bfTSF+8n4XztTfzni8SVd5/hsH7 4R1TKIdS2ZPXYCnRfvJbGDBsmtdCCs30ipUaWsL/276wpej5sDBu4ZOHgfYvU674 bZ0rX4bFWcxotevmFmZaDqQcWfFM+756r/a7YFFckN0W0H1Up546TwI0+dVoEuDd YFEPKZShcnig2d3J+yoh1o4Adh4eLuCz1jNedyFDh2sbJFKLI0wk9I6EJwK3++iy yMGeRg== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 44kec41bvb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 04 Feb 2025 17:05:33 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-2f5538a2356so10795265a91.2 for ; Tue, 04 Feb 2025 09:05:33 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738688733; x=1739293533; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OL/QcLRIJh0ky121SiQIUudqZdpTL1YzhtN9uKN3Eyw=; b=QiSZYl4Amu9Zzp1xhhF1P9GuhDQdFT4QBzcC2gWBoKjRNH6OznllvN9b9ZZjLxOEdL CaZkAbNnBxbxoZnduIExKo7+atX/DMoOOm0LqP1sqv03fTarHp/IZhf2K7WzkApWfKom aU0fntiOy23LR4tHTA95zghlwS7IFsbP96WjsATVteFLYL0jEAiG/QYgwocJA/89I7aZ 15v/lzBfnpcqwomKYjUwBWnYbDLpbaH8T6Zkf1KujbcKCJsI/n9IBVkqdnVHtZDyCtXE YVmDbpNYlDukemth/Tv+K3j2sOABbL4F2owcXTwhmppu1Uh+/yKF14jAL75GIUqa0w/D nEiA== X-Forwarded-Encrypted: i=1; AJvYcCWR6AS+F5TtORHx2LpkrVCdI3rl/qyZ8isiCxum5S09OVnRzTiErLrLcxrczZayIMdUDWdBGK4avWAiC2Y=@vger.kernel.org X-Gm-Message-State: AOJu0YyW2YA6lbtODwSFwoFCZbRPU7yBCW4gBtflUXBcJ7iBEptlMbxk uQ8ECNIjo4eXCSUP1CAUJrrMpGcJ+k/gqh1livw1r1Yea2kt9DLdiaG/0qRXsdxseTq5jVpdTlb OGmQ/5PoD4WzFQe77RJf139/78Ass9ChDQbJ3RyyU1J8mHoxcAe6iVYQJtUpFQS4= X-Gm-Gg: ASbGnctYdnMJsVMiDm0PPeYaPqGhjE0yfFQ05L496uvs7+9XYJDG/Za3M/mULqjeuX1 R3zGPKs09a+XvkKEuXBckvI1SjI9Ha077HQYRb3eczL8pzywJ29h27o+l7TxwdZEHCcoM45kZnu BuKX8np2jDPDma6iWEGjYDJBic+x+oz1xkhlgKJOOgjULE6FNJmPZubRICzZi+RTawePtNlxsSR YdM5HjSaDybCxOdsLhxc5iRy/3d1UUpyx2OZXCUqKKEi+y/itL1h2eAvORJ69/MtgorWItWyE5F 96rWm10RgDAsLyxSYS3yYkQpY7wPxB8hHLwpq18QJe6DIKqFIRYcm6uaKSbuMgbtTvMXXGIgWom 3PfJQ+z7N2uKEcXQ4FC8bISfaSTYVaw== X-Received: by 2002:a05:6a00:18a5:b0:72a:bcc2:eefb with SMTP id d2e1a72fcca58-72fd0bcdb58mr38129918b3a.2.1738688730765; Tue, 04 Feb 2025 09:05:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IEMARmptt0ygx1XHCqHB2J4I02VOK37cI/VtiWUK0SRjm18Qm7birg0sl11fNhJ9zPqFGNEgA== X-Received: by 2002:a05:6a00:18a5:b0:72a:bcc2:eefb with SMTP id d2e1a72fcca58-72fd0bcdb58mr38129749b3a.2.1738688727960; Tue, 04 Feb 2025 09:05:27 -0800 (PST) Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69cddbbsm10772788b3a.125.2025.02.04.09.05.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:05:27 -0800 (PST) From: Aditya Kumar Singh Date: Tue, 04 Feb 2025 22:35:10 +0530 Subject: [PATCH v2 4/8] wifi: ath12k: remove redundant logic for initializing arvif Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250204-unlink_link_arvif_from_chanctx-v2-4-764fb5973c1a@oss.qualcomm.com> References: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> In-Reply-To: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> To: Kalle Valo , Jeff Johnson Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org, Vasanthakumar Thiagarajan , Aditya Kumar Singh X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: Jpennwk6JbbxNiYiyVLSBnTHf0NqN1Nq X-Proofpoint-GUID: Jpennwk6JbbxNiYiyVLSBnTHf0NqN1Nq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-04_08,2025-02-04_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 adultscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 impostorscore=0 bulkscore=0 priorityscore=1501 mlxscore=0 spamscore=0 malwarescore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2501170000 definitions=main-2502040132 The current logic for initializing arvif is present in both the add interface operation callback and ath12k_mac_assign_link_vif(). The former handles deflink initialization, while the latter is responsible for other links. This redundancy could be avoided by using a common helper function. Hence, add a new helper ath12k_mac_init_arvif() which initializes a given arvif. Since synchronizing rcu is not required after adding a rcu pointer, remove that now. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 Reviewed-by: Vasanthakumar Thiagarajan Signed-off-by: Aditya Kumar Singh Tested-by: Nicolas Escande --- drivers/net/wireless/ath/ath12k/mac.c | 80 +++++++++++++++++++++----------= ---- 1 file changed, 49 insertions(+), 31 deletions(-) diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/a= th/ath12k/mac.c index 7defc2b20fb61dcaec06d0e332c48a1b6cd2f5d6..5f0388002e16c38a834d6c7c6c0= 20b7afa7044f0 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -3973,13 +3973,59 @@ static void ath12k_mac_op_link_info_changed(struct = ieee80211_hw *hw, ath12k_mac_bss_info_changed(ar, arvif, info, changed); } =20 +static void ath12k_mac_init_arvif(struct ath12k_vif *ahvif, + struct ath12k_link_vif *arvif, int link_id) +{ + struct ath12k_hw *ah =3D ahvif->ah; + u8 _link_id; + int i; + + lockdep_assert_wiphy(ah->hw->wiphy); + + if (WARN_ON(!arvif)) + return; + + if (WARN_ON(link_id >=3D ATH12K_NUM_MAX_LINKS)) + return; + + if (link_id < 0) + _link_id =3D 0; + else + _link_id =3D link_id; + + arvif->ahvif =3D ahvif; + arvif->link_id =3D _link_id; + + INIT_LIST_HEAD(&arvif->list); + INIT_DELAYED_WORK(&arvif->connection_loss_work, + ath12k_mac_vif_sta_connection_loss_work); + + for (i =3D 0; i < ARRAY_SIZE(arvif->bitrate_mask.control); i++) { + arvif->bitrate_mask.control[i].legacy =3D 0xffffffff; + memset(arvif->bitrate_mask.control[i].ht_mcs, 0xff, + sizeof(arvif->bitrate_mask.control[i].ht_mcs)); + memset(arvif->bitrate_mask.control[i].vht_mcs, 0xff, + sizeof(arvif->bitrate_mask.control[i].vht_mcs)); + } + + /* Handle MLO related assignments */ + if (link_id >=3D 0) { + rcu_assign_pointer(ahvif->link[arvif->link_id], arvif); + ahvif->links_map |=3D BIT(_link_id); + } + + ath12k_generic_dbg(ATH12K_DBG_MAC, + "mac init link arvif (link_id %d%s) for vif %pM. links_map 0x%x", + _link_id, (link_id < 0) ? " deflink" : "", ahvif->vif->addr, + ahvif->links_map); +} + static struct ath12k_link_vif *ath12k_mac_assign_link_vif(struct ath12k_hw= *ah, struct ieee80211_vif *vif, u8 link_id) { struct ath12k_vif *ahvif =3D ath12k_vif_to_ahvif(vif); struct ath12k_link_vif *arvif; - int i; =20 lockdep_assert_wiphy(ah->hw->wiphy); =20 @@ -4006,25 +4052,8 @@ static struct ath12k_link_vif *ath12k_mac_assign_lin= k_vif(struct ath12k_hw *ah, } } =20 - arvif->ahvif =3D ahvif; - arvif->link_id =3D link_id; - ahvif->links_map |=3D BIT(link_id); - - INIT_LIST_HEAD(&arvif->list); - INIT_DELAYED_WORK(&arvif->connection_loss_work, - ath12k_mac_vif_sta_connection_loss_work); - - for (i =3D 0; i < ARRAY_SIZE(arvif->bitrate_mask.control); i++) { - arvif->bitrate_mask.control[i].legacy =3D 0xffffffff; - memset(arvif->bitrate_mask.control[i].ht_mcs, 0xff, - sizeof(arvif->bitrate_mask.control[i].ht_mcs)); - memset(arvif->bitrate_mask.control[i].vht_mcs, 0xff, - sizeof(arvif->bitrate_mask.control[i].vht_mcs)); - } + ath12k_mac_init_arvif(ahvif, arvif, link_id); =20 - rcu_assign_pointer(ahvif->link[arvif->link_id], arvif); - ahvif->links_map |=3D BIT(link_id); - synchronize_rcu(); return arvif; } =20 @@ -8312,19 +8341,8 @@ static int ath12k_mac_op_add_interface(struct ieee80= 211_hw *hw, ahvif->ah =3D ah; ahvif->vif =3D vif; arvif =3D &ahvif->deflink; - arvif->ahvif =3D ahvif; - - INIT_LIST_HEAD(&arvif->list); - INIT_DELAYED_WORK(&arvif->connection_loss_work, - ath12k_mac_vif_sta_connection_loss_work); =20 - for (i =3D 0; i < ARRAY_SIZE(arvif->bitrate_mask.control); i++) { - arvif->bitrate_mask.control[i].legacy =3D 0xffffffff; - memset(arvif->bitrate_mask.control[i].ht_mcs, 0xff, - sizeof(arvif->bitrate_mask.control[i].ht_mcs)); - memset(arvif->bitrate_mask.control[i].vht_mcs, 0xff, - sizeof(arvif->bitrate_mask.control[i].vht_mcs)); - } + ath12k_mac_init_arvif(ahvif, arvif, -1); =20 /* Allocate Default Queue now and reassign during actual vdev create */ vif->cab_queue =3D ATH12K_HW_DEFAULT_QUEUE; --=20 2.34.1 From nobody Sun Dec 14 08:06:53 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9BE2D216619 for ; Tue, 4 Feb 2025 17:05:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688734; cv=none; b=YmrZdYN4I2Kq/iF84HcaSNYgMKDjUHvYt6/QvdB8QMDu6zwxP/wH6mxqhtlrh46EMqO0cRwM0lOwEcyECjkA9CKwlprzICrCMpqNzcY4mnYOaavWr+RI/zSDHxT9z/8v/lzodja8h981GkrCx11WgLTFtevu5k54so3KhI49JAM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688734; c=relaxed/simple; bh=OEvxUUHd1bknAjWDidS+dI9Tyqbgg6sCieUjL97IA3s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VSMl++skcZg6MiB2YotJvPQ8OQxPwtMVzwyo/Yr/bmNmTyBnP6uzpuBUFzygIWggOrB7muxaX6x0V8Iu+gHIHIzDoPb6uG4HnQ4lAtOptNxYZono4rsnjCt8IYSMLOyzaBj5LlNKtHRqsQOBofnKsB5V2wf6RVD2eoAYty3Uh/A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=U1Rkyp/q; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="U1Rkyp/q" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 514Gubud024462 for ; Tue, 4 Feb 2025 17:05:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= dy1qfD5UTtYECRWWfOe+C5t/d7dowdD7s3GDIHnLHoQ=; b=U1Rkyp/qYcYNhlZp 61yYNEsgKgyZNJlBZKkc7bLr15tOwtsLk8mrsb9AfaK8u6IzJvGZYYygcJFW+Gtg GD3Ffj386mswCWWyqD71fw0rvXmIb+6YdNNhoREaDgNN1RcwneZlcQ52IW4szNxI SfcZLGKY5Fv3AaNg6N+0jOr9mkkmAp973+rjqsb+xALTLF5K9/CoV745KckUxXJN EE1BxpPy8qN3153u5+3V3DTkqyJBbMC362V8fZdf84RCb0zkRRlmpFygRJNc2re/ AJcrh2Bx1izphcGBtKOd9m9UBHgyidR96/qayblSsuu5avEsNxxQsBRVyYCO6guU MekNKA== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 44kpuy80vs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 04 Feb 2025 17:05:31 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-216266cc0acso119329295ad.0 for ; Tue, 04 Feb 2025 09:05:31 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738688731; x=1739293531; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dy1qfD5UTtYECRWWfOe+C5t/d7dowdD7s3GDIHnLHoQ=; b=pguRdijGaoI82xW5IAVpVYDhGD8vJHTYvW/PxwLgeyHEWREybVBulDTjfdAed+wzt9 1Fa6Eg9/9zj7OJ1F3ekR2EjNkNGuMD5oRE7QmezOexYoOX/x1o+x5DkSVEFImz7PMwxm 1tn6x1abeNq/ynONAKpq+hSj77TDGFpzH7lokcpXChneIGgEqi9Je33kz+h5oUYGS7aP VVAF8Y4ZXNW1CkU/4rWk+Ibp3qdER2SSHyInSIhNlqSeyzsBu4H6bVa7q9IN73loyldl u2EzudggRRHr8od8/YpSaIAhVaQhJYHuAOfKcTIzWV6CRPE6VH8ivYC+5DAgfDawY+E7 fzWQ== X-Forwarded-Encrypted: i=1; AJvYcCWa/w7iVCUdYFLrRh9PIh+3AKi05G7rqllqbhjrIK++1QZqGjVqNeMh3bxsBaRMlRAXh1j0uxd0Ku9GERM=@vger.kernel.org X-Gm-Message-State: AOJu0YyOUJs5rjfEWY7s+VxG4ldnmqxLSjmvR+BGsgSsQ9qezczNiYP3 /ptoVTkDHwIGHJ4OotsJnWDQ27d8pE9Pu/nj7B7NJFz9e/cQRCmkR5klD3aG4JxznfClWoQZbFn vA6JvqKoa9AxlTVSKZlP/jfS+riYivFLWwBO2dQhQo8mEtkdgL7fnEZiJjy1DLbs= X-Gm-Gg: ASbGncs3EWQ4LMC02K+o2V2zW3B5yDDeBa+RD2NppFVBZB+R3GTkpOhJ9ioZIXiTjcj 0OXSktUnpZYI2R5cEmY+NbozrhdWOr6XKY2C2fNjfU2XD9Ej0oobo7vV1FWZOMHK9Lra2+cunXY qbaja4Pmt9WYJXzNXpWEiEaVNs20DlrkaqQIhZyVjRCs0CmkXah1Yx6wyqAYmrgrVC+HW5JTa5b HbZZ1QQ44+wXGxtsxRKr9Rtgep3Avm2MCI4v5cXWXZX7jC3FvciSdwBJdAs+e2qEHJybkTqW/Rm /mcaNpT1SG0D4u6t+61XCH4/AjWCRrLEOcayIZmW7SoIVGetYODKk/cbdHSu8njBFTzueLenLge 9kD/mpUY0kshImka5TQSi4SzyIiM6XA== X-Received: by 2002:a05:6a20:c70e:b0:1e1:ad7:3282 with SMTP id adf61e73a8af0-1edd76c2660mr6105393637.7.1738688730952; Tue, 04 Feb 2025 09:05:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IFVBF367qbEcWZt63Cm8v6f2EmzewOOW3h6qyAO9Qg7zw6MWUQtPT7SGCjw9ouetmj4kRDb1g== X-Received: by 2002:a05:6a20:c70e:b0:1e1:ad7:3282 with SMTP id adf61e73a8af0-1edd76c2660mr6105350637.7.1738688730541; Tue, 04 Feb 2025 09:05:30 -0800 (PST) Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69cddbbsm10772788b3a.125.2025.02.04.09.05.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:05:30 -0800 (PST) From: Aditya Kumar Singh Date: Tue, 04 Feb 2025 22:35:11 +0530 Subject: [PATCH v2 5/8] wifi: ath12k: use arvif instead of link_conf in ath12k_mac_set_key() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250204-unlink_link_arvif_from_chanctx-v2-5-764fb5973c1a@oss.qualcomm.com> References: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> In-Reply-To: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> To: Kalle Valo , Jeff Johnson Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org, Vasanthakumar Thiagarajan , Aditya Kumar Singh X-Mailer: b4 0.14.2 X-Proofpoint-GUID: xAk531PsOrJO1lc2ZC-t45dD_G2B6IQE X-Proofpoint-ORIG-GUID: xAk531PsOrJO1lc2ZC-t45dD_G2B6IQE X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-04_08,2025-02-04_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 mlxscore=0 malwarescore=0 lowpriorityscore=0 impostorscore=0 clxscore=1015 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2501170000 definitions=main-2502040132 Currently, in ath12k_mac_set_key(), if sta is not present, the address is retrieved from link_conf's bssid or addr member, depending on the interface type. When operating as an ML station and during shutdown, link_conf will not be available. This can result in the following error: ath12k_pci 0004:01:00.0: unable to access bss link conf in set key for vif = AA:BB:CC:DD:EE:FF link 1 The primary purpose of accessing link_conf is to obtain the address for finding the peer. However, since arvif is always valid in this call, it can be used instead. Add change to use arvif instead of link_conf. A subsequent change will expose this issue but since tear down will give error, this is included first. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 Reviewed-by: Vasanthakumar Thiagarajan Signed-off-by: Aditya Kumar Singh Tested-by: Nicolas Escande --- drivers/net/wireless/ath/ath12k/mac.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/a= th/ath12k/mac.c index 5f0388002e16c38a834d6c7c6c020b7afa7044f0..db866c1419a613103f119037b19= e24b7edaa6c24 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -4667,9 +4667,6 @@ static int ath12k_mac_set_key(struct ath12k *ar, enum= set_key_cmd cmd, struct ath12k_link_sta *arsta, struct ieee80211_key_conf *key) { - struct ath12k_vif *ahvif =3D arvif->ahvif; - struct ieee80211_vif *vif =3D ath12k_ahvif_to_vif(ahvif); - struct ieee80211_bss_conf *link_conf; struct ieee80211_sta *sta =3D NULL; struct ath12k_base *ab =3D ar->ab; struct ath12k_peer *peer; @@ -4686,19 +4683,10 @@ static int ath12k_mac_set_key(struct ath12k *ar, en= um set_key_cmd cmd, if (test_bit(ATH12K_FLAG_HW_CRYPTO_DISABLED, &ab->dev_flags)) return 1; =20 - link_conf =3D ath12k_mac_get_link_bss_conf(arvif); - if (!link_conf) { - ath12k_warn(ab, "unable to access bss link conf in set key for vif %pM l= ink %u\n", - vif->addr, arvif->link_id); - return -ENOLINK; - } - if (sta) peer_addr =3D arsta->addr; - else if (ahvif->vdev_type =3D=3D WMI_VDEV_TYPE_STA) - peer_addr =3D link_conf->bssid; else - peer_addr =3D link_conf->addr; + peer_addr =3D arvif->bssid; =20 key->hw_key_idx =3D key->keyidx; =20 --=20 2.34.1 From nobody Sun Dec 14 08:06:53 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 33DF3215F71 for ; Tue, 4 Feb 2025 17:05:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688736; cv=none; b=el0j5ZHGLbwg8JHt+60Wp4zNKxZi/JIQ7UGYzqqXa0fSTCfL9gOJf4g/Cp+Q44JdWShT91GejNURGk2iQDeEhODjxRcg54qoKnn+hB1SxYqEaob9pp4PDw9eF+jBp8biiU3Z0jTqyOtjYl14nFs+wJFO9CJ2NmzzLiJcY66hLbA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688736; c=relaxed/simple; bh=nj1MR/o86niB/+6cv7aECXNXfmddam89K/k6jiut1E0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=suxPY/X8qDHZuGDFa8mZj/naOKz8MuoRaDjpnNQd6ocL2jqsueyyml00pu9wiqD3ZxpYCERhSVVyUtLDoaAcrQ5vEHdwKFdE57LN5AuF6kZqUD8tKQ3KGw4AxHGBmpkeGfzql3a05tiKLltAMph+2mnKvLoifnmhuKLUuA03pHY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=f/INd/E8; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="f/INd/E8" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 514EWRi6016828 for ; Tue, 4 Feb 2025 17:05:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= WN5HH/8aK4QaE6vMfcOuIYz8YHDTi8XwCxrBcxjH2dE=; b=f/INd/E8o/rPhrP1 jf9oKAxw2vaJS6NwdnTVlHhMy8gnCEGjXlWVRRtsV8ODpdJ6PTdQUIJyo6Etdkpc PpWi69ujlDmOF3boUtT+JfvN9u9DixUfBsryJbJh5z+XqWlqRB5dMI2wxpc164vG 3Ds1oKebKUS2RVYylra23jB2DPNzanBbToqfen2pATw/oquUI3dC/d5AY4OhlW66 ThdoX6THf+h49SdddNaIcUv4uHqLUdIylHfFyEXF+4dsxKgE5etWpYAGsyx+c8Cd SRwy2IksrSHT2fQnaNwQizHSr5QqpiJonNSJgiLipZvPRdDG/CY1e9/mm0o1cc2Z ku4JNA== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 44kmre0cm6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 04 Feb 2025 17:05:34 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-2f9c34c0048so2750565a91.3 for ; Tue, 04 Feb 2025 09:05:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738688733; x=1739293533; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WN5HH/8aK4QaE6vMfcOuIYz8YHDTi8XwCxrBcxjH2dE=; b=iReLU7/CHA7aub9gu2sM99djGTd6mM8W+ZaPjghgTUfTJkp/i8lqculbVPs+4T1YDN paHWlVh4aMkOVOUSMdybVKH4mM+3gBR0NuCkp9ZC3o9Nm9PU1+J1ntyzUf1dVlGAWZqP ce0LwCXtAn2KzIufC8VBmfr8Wgj3HDohnNE11rTqVsF+LUkzvmw9sE6A4dwmvuWxnpzD g21H4BlWOCj/KfJ01TQf21ElP5hCIuEVrl+6zO08zBfYa+LyXMWZZuymFZxXQwGoKHT1 POCtxPDHVXyLRe2hwH7GY636N+qQ1TK9vvt4zgcSpDqtYCQGUu8S5fi5OmRG25vpetOS eZ7Q== X-Forwarded-Encrypted: i=1; AJvYcCUNw5v01N1h7OTD7fZ6pMSma18xgcnDjjzo0T3awm+nfv2ouCHoxOdGTyUosYphTET6kwpfHS+DgG95VBA=@vger.kernel.org X-Gm-Message-State: AOJu0YzLRuaY4u9HXQZfTdT/V/AUe1LWtt8VGPUxrTsGXlDbFwltpmbh xsR1lalRJVEpWCCbQUu7zpMbZfB89bhalEG/Vq1EWbcUqrA3t5mDYpdGPc+6exx+RGfCZIBU1Qr Ws7Yj57QZdRtbBny8FwYu0Ohad6485BRxjbQdRE8LhW0Ir0PLoBwNfZgtO9Ht6Qo= X-Gm-Gg: ASbGncsZ8tQ4lbXF/eJy7D2XggdgPV/T+s2N6uHK8/Hlyk3zKKJ/0sV3rul9Kvou4sv Tq+ONguJ9fbmRjgPxaoiC6hHOlHqqzjJyBQgSCWAh+KWs352NVmT9dy+ZId+wOcVy+zxhTHFGao MIuk7vMIK6JzaRbALCNWTAMXe5pk0az2qr0XqqUktca4nHrkbeXaH1rLDwJ/DjdC2z8pIvhkJOG jMDAPxkhuL5U+oGgklcxgaNAkx9D2LitATabl5EOAf4AaHoxqiPE1ykyK87iE1EASudQcBK6GwM qyADWHVtFQGFoWVCeXlUH4oi1ASvuoGa3a66kUY54I2skgY9vw56F/3/fRHaOdDqFLh2fG/tFkH MXjp56g6JnsE6rIADcb3Ut1ZoAfqn3Q== X-Received: by 2002:a05:6a00:2443:b0:71d:f4ef:6b3a with SMTP id d2e1a72fcca58-72fd0c97f99mr38907446b3a.21.1738688733347; Tue, 04 Feb 2025 09:05:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IGV4Scox1v8cF8o5B+dd4wbuk+Xtys9zwQP72i2ppE3zrl3iSfXErz5Ui3BkGP9bHQnBFm7Qg== X-Received: by 2002:a05:6a00:2443:b0:71d:f4ef:6b3a with SMTP id d2e1a72fcca58-72fd0c97f99mr38907379b3a.21.1738688732823; Tue, 04 Feb 2025 09:05:32 -0800 (PST) Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69cddbbsm10772788b3a.125.2025.02.04.09.05.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:05:32 -0800 (PST) From: Aditya Kumar Singh Date: Tue, 04 Feb 2025 22:35:12 +0530 Subject: [PATCH v2 6/8] wifi: ath12k: relocate a few functions in mac.c Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250204-unlink_link_arvif_from_chanctx-v2-6-764fb5973c1a@oss.qualcomm.com> References: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> In-Reply-To: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> To: Kalle Valo , Jeff Johnson Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org, Aditya Kumar Singh X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: yV6nIOr2eCX0JUtko21yOe2ObTkarifq X-Proofpoint-GUID: yV6nIOr2eCX0JUtko21yOe2ObTkarifq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-04_08,2025-02-04_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 adultscore=0 impostorscore=0 malwarescore=0 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 priorityscore=1501 mlxscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2501170000 definitions=main-2502040132 An upcoming change will invoke ath12k_mac_init_arvif(), ath12k_mac_assign_link_vif(), ath12k_mac_unassign_link_vif(), and ath12k_mac_remove_link_interface() from a line located above their current definition. Hence, relocate these functions to above so that these can be invoked later on. No functionality changes. Compile tested only. Signed-off-by: Aditya Kumar Singh Reviewed-by: Vasanthakumar Thiagarajan Tested-by: Nicolas Escande --- drivers/net/wireless/ath/ath12k/mac.c | 250 +++++++++++++++++-------------= ---- 1 file changed, 125 insertions(+), 125 deletions(-) diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/a= th/ath12k/mac.c index db866c1419a613103f119037b19e24b7edaa6c24..4f5bda45387ee16e1ab7a3c15a7= 2252933f29129 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -3469,6 +3469,131 @@ static void ath12k_recalculate_mgmt_rate(struct ath= 12k *ar, ath12k_warn(ar->ab, "failed to set beacon tx rate %d\n", ret); } =20 +static void ath12k_mac_init_arvif(struct ath12k_vif *ahvif, + struct ath12k_link_vif *arvif, int link_id) +{ + struct ath12k_hw *ah =3D ahvif->ah; + u8 _link_id; + int i; + + lockdep_assert_wiphy(ah->hw->wiphy); + + if (WARN_ON(!arvif)) + return; + + if (WARN_ON(link_id >=3D ATH12K_NUM_MAX_LINKS)) + return; + + if (link_id < 0) + _link_id =3D 0; + else + _link_id =3D link_id; + + arvif->ahvif =3D ahvif; + arvif->link_id =3D _link_id; + + INIT_LIST_HEAD(&arvif->list); + INIT_DELAYED_WORK(&arvif->connection_loss_work, + ath12k_mac_vif_sta_connection_loss_work); + + for (i =3D 0; i < ARRAY_SIZE(arvif->bitrate_mask.control); i++) { + arvif->bitrate_mask.control[i].legacy =3D 0xffffffff; + memset(arvif->bitrate_mask.control[i].ht_mcs, 0xff, + sizeof(arvif->bitrate_mask.control[i].ht_mcs)); + memset(arvif->bitrate_mask.control[i].vht_mcs, 0xff, + sizeof(arvif->bitrate_mask.control[i].vht_mcs)); + } + + /* Handle MLO related assignments */ + if (link_id >=3D 0) { + rcu_assign_pointer(ahvif->link[arvif->link_id], arvif); + ahvif->links_map |=3D BIT(_link_id); + } + + ath12k_generic_dbg(ATH12K_DBG_MAC, + "mac init link arvif (link_id %d%s) for vif %pM. links_map 0x%x", + _link_id, (link_id < 0) ? " deflink" : "", ahvif->vif->addr, + ahvif->links_map); +} + +static void ath12k_mac_remove_link_interface(struct ieee80211_hw *hw, + struct ath12k_link_vif *arvif) +{ + struct ath12k_vif *ahvif =3D arvif->ahvif; + struct ath12k_hw *ah =3D hw->priv; + struct ath12k *ar =3D arvif->ar; + int ret; + + lockdep_assert_wiphy(ah->hw->wiphy); + + cancel_delayed_work_sync(&arvif->connection_loss_work); + + ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "mac remove link interface (vdev %d li= nk id %d)", + arvif->vdev_id, arvif->link_id); + + if (ahvif->vdev_type =3D=3D WMI_VDEV_TYPE_AP) { + ret =3D ath12k_peer_delete(ar, arvif->vdev_id, arvif->bssid); + if (ret) + ath12k_warn(ar->ab, "failed to submit AP self-peer removal on vdev %d l= ink id %d: %d", + arvif->vdev_id, arvif->link_id, ret); + } + ath12k_mac_vdev_delete(ar, arvif); +} + +static struct ath12k_link_vif *ath12k_mac_assign_link_vif(struct ath12k_hw= *ah, + struct ieee80211_vif *vif, + u8 link_id) +{ + struct ath12k_vif *ahvif =3D ath12k_vif_to_ahvif(vif); + struct ath12k_link_vif *arvif; + + lockdep_assert_wiphy(ah->hw->wiphy); + + arvif =3D wiphy_dereference(ah->hw->wiphy, ahvif->link[link_id]); + if (arvif) + return arvif; + + if (!vif->valid_links) { + /* Use deflink for Non-ML VIFs and mark the link id as 0 + */ + link_id =3D 0; + arvif =3D &ahvif->deflink; + } else { + /* If this is the first link arvif being created for an ML VIF + * use the preallocated deflink memory except for scan arvifs + */ + if (!ahvif->links_map && link_id !=3D ATH12K_DEFAULT_SCAN_LINK) { + arvif =3D &ahvif->deflink; + } else { + arvif =3D (struct ath12k_link_vif *) + kzalloc(sizeof(struct ath12k_link_vif), GFP_KERNEL); + if (!arvif) + return NULL; + } + } + + ath12k_mac_init_arvif(ahvif, arvif, link_id); + + return arvif; +} + +static void ath12k_mac_unassign_link_vif(struct ath12k_link_vif *arvif) +{ + struct ath12k_vif *ahvif =3D arvif->ahvif; + struct ath12k_hw *ah =3D ahvif->ah; + + lockdep_assert_wiphy(ah->hw->wiphy); + + rcu_assign_pointer(ahvif->link[arvif->link_id], NULL); + synchronize_rcu(); + ahvif->links_map &=3D ~BIT(arvif->link_id); + + if (arvif !=3D &ahvif->deflink) + kfree(arvif); + else + memset(arvif, 0, sizeof(*arvif)); +} + static int ath12k_mac_op_change_vif_links(struct ieee80211_hw *hw, struct ieee80211_vif *vif, @@ -3973,131 +4098,6 @@ static void ath12k_mac_op_link_info_changed(struct = ieee80211_hw *hw, ath12k_mac_bss_info_changed(ar, arvif, info, changed); } =20 -static void ath12k_mac_init_arvif(struct ath12k_vif *ahvif, - struct ath12k_link_vif *arvif, int link_id) -{ - struct ath12k_hw *ah =3D ahvif->ah; - u8 _link_id; - int i; - - lockdep_assert_wiphy(ah->hw->wiphy); - - if (WARN_ON(!arvif)) - return; - - if (WARN_ON(link_id >=3D ATH12K_NUM_MAX_LINKS)) - return; - - if (link_id < 0) - _link_id =3D 0; - else - _link_id =3D link_id; - - arvif->ahvif =3D ahvif; - arvif->link_id =3D _link_id; - - INIT_LIST_HEAD(&arvif->list); - INIT_DELAYED_WORK(&arvif->connection_loss_work, - ath12k_mac_vif_sta_connection_loss_work); - - for (i =3D 0; i < ARRAY_SIZE(arvif->bitrate_mask.control); i++) { - arvif->bitrate_mask.control[i].legacy =3D 0xffffffff; - memset(arvif->bitrate_mask.control[i].ht_mcs, 0xff, - sizeof(arvif->bitrate_mask.control[i].ht_mcs)); - memset(arvif->bitrate_mask.control[i].vht_mcs, 0xff, - sizeof(arvif->bitrate_mask.control[i].vht_mcs)); - } - - /* Handle MLO related assignments */ - if (link_id >=3D 0) { - rcu_assign_pointer(ahvif->link[arvif->link_id], arvif); - ahvif->links_map |=3D BIT(_link_id); - } - - ath12k_generic_dbg(ATH12K_DBG_MAC, - "mac init link arvif (link_id %d%s) for vif %pM. links_map 0x%x", - _link_id, (link_id < 0) ? " deflink" : "", ahvif->vif->addr, - ahvif->links_map); -} - -static struct ath12k_link_vif *ath12k_mac_assign_link_vif(struct ath12k_hw= *ah, - struct ieee80211_vif *vif, - u8 link_id) -{ - struct ath12k_vif *ahvif =3D ath12k_vif_to_ahvif(vif); - struct ath12k_link_vif *arvif; - - lockdep_assert_wiphy(ah->hw->wiphy); - - arvif =3D wiphy_dereference(ah->hw->wiphy, ahvif->link[link_id]); - if (arvif) - return arvif; - - if (!vif->valid_links) { - /* Use deflink for Non-ML VIFs and mark the link id as 0 - */ - link_id =3D 0; - arvif =3D &ahvif->deflink; - } else { - /* If this is the first link arvif being created for an ML VIF - * use the preallocated deflink memory except for scan arvifs - */ - if (!ahvif->links_map && link_id !=3D ATH12K_DEFAULT_SCAN_LINK) { - arvif =3D &ahvif->deflink; - } else { - arvif =3D (struct ath12k_link_vif *) - kzalloc(sizeof(struct ath12k_link_vif), GFP_KERNEL); - if (!arvif) - return NULL; - } - } - - ath12k_mac_init_arvif(ahvif, arvif, link_id); - - return arvif; -} - -static void ath12k_mac_unassign_link_vif(struct ath12k_link_vif *arvif) -{ - struct ath12k_vif *ahvif =3D arvif->ahvif; - struct ath12k_hw *ah =3D ahvif->ah; - - lockdep_assert_wiphy(ah->hw->wiphy); - - rcu_assign_pointer(ahvif->link[arvif->link_id], NULL); - synchronize_rcu(); - ahvif->links_map &=3D ~BIT(arvif->link_id); - - if (arvif !=3D &ahvif->deflink) - kfree(arvif); - else - memset(arvif, 0, sizeof(*arvif)); -} - -static void ath12k_mac_remove_link_interface(struct ieee80211_hw *hw, - struct ath12k_link_vif *arvif) -{ - struct ath12k_vif *ahvif =3D arvif->ahvif; - struct ath12k_hw *ah =3D hw->priv; - struct ath12k *ar =3D arvif->ar; - int ret; - - lockdep_assert_wiphy(ah->hw->wiphy); - - cancel_delayed_work_sync(&arvif->connection_loss_work); - - ath12k_dbg(ar->ab, ATH12K_DBG_MAC, "mac remove link interface (vdev %d li= nk id %d)", - arvif->vdev_id, arvif->link_id); - - if (ahvif->vdev_type =3D=3D WMI_VDEV_TYPE_AP) { - ret =3D ath12k_peer_delete(ar, arvif->vdev_id, arvif->bssid); - if (ret) - ath12k_warn(ar->ab, "failed to submit AP self-peer removal on vdev %d l= ink id %d: %d", - arvif->vdev_id, arvif->link_id, ret); - } - ath12k_mac_vdev_delete(ar, arvif); -} - static struct ath12k* ath12k_mac_select_scan_device(struct ieee80211_hw *hw, struct ieee80211_vif *vif, --=20 2.34.1 From nobody Sun Dec 14 08:06:53 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E62FB216619 for ; Tue, 4 Feb 2025 17:05:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688739; cv=none; b=YQiZTsBqPsd7M3xJz5cEy5R9a/ALhywAiNOPy0YBGlb7gtp+4G3f8cjYHqSnrJUb9kZQvUBAnei3tjaTWHG8WUTQuKAxqMZ/FEPihCfg7OQKGv6L7tYz5cIec/dzVQQJ925QaJHjZy0zUULb5GG9R/W2v5Ks7Tqsp1C5GbeOGnI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688739; c=relaxed/simple; bh=gNc7Lt2ImNbmQPIIPEj2dlmoTdt3Zsh0jVL81MByKcs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kStzl9HhVi9C0rhnoG6MItOXudEXRHAWF48q5cF1V/p3nPTLw/WxyjR7ISEHzL8eYuAs8caV1tY7FwLmFJoecquQG6KqjGHnFBmrlyl3TCOTfHkPlhaRatcsCUct33SoPFGARC1d9jK9o6ONKTS/6Bi6lmdJaxivJTJ/rQK1jFU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=WOAtA+HV; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="WOAtA+HV" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 514BZ7aI011508 for ; Tue, 4 Feb 2025 17:05:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 51f2EOU8rD4IqmdPJzdUmHNaP2sswXDBQc7pnwOJIpA=; b=WOAtA+HVSHrlyoEh MjhpxA95iJw8CriT7YkCj9ECfD3Fn+jujKPN+OarSp+sJl1g219IJM8Lrs+O0Taj gsw6SZ+Hh1kcCGEUaEOPNtzVwVKopoKbHn2sbS2MuCpf7lP1Q+yPGzpShL3XcKEz LtG9OYizTWj5M/T+wZsoQf9h+TK/cHStS7ZeE0wcWA1VjTC2xYTuhncF7Zs8JHJN fm2dwNGA1sa4U0p9/Fei7Q9DzYj8fY1mFsE4ix0z+ISZAidbYWcloVdgOl1/Gga/ R23T4+rM0yZmu4yK5rnj4csixKVhz3KRS9uQ+b450PHMk6cRlz8FzkyNFJbpzDM7 E0329Q== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 44kj4ygssc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 04 Feb 2025 17:05:37 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-2ef7fbd99a6so10728420a91.1 for ; Tue, 04 Feb 2025 09:05:37 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738688736; x=1739293536; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=51f2EOU8rD4IqmdPJzdUmHNaP2sswXDBQc7pnwOJIpA=; b=jpt2vQ3mUIUBYbabxPvxkOe8FCV6iRR3RXv8sfQQoFaYkswLxYU3xF3T0vFwDi9zV0 ewy4ZrPu6VKE9Sp3Zv/kkr3qLjifMAcNZ+q45xK0S1cUDfhgneVoH1viBcV5PIF2v3fJ ghfU/gthc7Dtj616qmvumyWbzLtrG4fMlSBX/8q4eNjMpxJHAK35apon7TEJ8Sakxv/C e5O/M+Gng7VDmyboGNiq1HBqSA7gKdBw3D38Js+/SHZ8TDtaYs3xKoG97uezClcnjI61 KeGaGphuozwcdR4abP9lx1tIaH/xCfeYpufYbvNg3F5h5sN9sbq/+oP9ZO+Cg/sNt4j2 7wTQ== X-Forwarded-Encrypted: i=1; AJvYcCXC0hQMx6BRwONUMokDE7e8K7svjndot/CsxtlbxT046zik5XBQ45eQE5CIGblYbjVLT/6XDri8ekdHZ58=@vger.kernel.org X-Gm-Message-State: AOJu0YxzRk1z51Ee4FjGhX+9qwGRPLxDq/bX6VBdinLWWm1N2m01OupL Lhojxf17PU8PfvP1CrnyuReG/ZrE0zuBq/l3rdrMgZ+JG/3jS80o+QmQ9KBBezQF2DUgeMDQjPe doXvwWdq32ROb2ZQIQIvUwxrH34SAEaND5mJGJRYMfT8Ry03SaET1Ifdike0Y1/Y= X-Gm-Gg: ASbGncv+iHNvRmtXNbD7QCt1e+rXfMItg5gSjlnE1MgQFaBXft9YHOnRGpNif+P8CN3 IiYR4hD3wRr8/v2Cb0qLqYol3Shwy8VQxzNqFihyXpcdPRTgIGFX0ExZ2AOFcEkstuq5Vyf3FBJ 26P+dR4ydJw187RGOFC0Hx50S1qAj7S8+WpYEqAOcKQ231pd0dLWd5Sb5akPchzIORAJv9UNecA ss52sGPq1BbWbnp5anqQn9ugOv7PxYRvytszZQH1jmEvQhJlAwIQGXecF3UNYmRve4+9lQuyXTT WHXPa2UuT3aXxavPMM58CYV7BWIjBnPb10ExAvpbx7SXvl5EciZHxqqQbRoDbdS80EhNog/UYvP Z2ptCHZieEqlHKBXxIRZbiaYIQ2qt1w== X-Received: by 2002:a05:6a00:114d:b0:728:ecab:51e3 with SMTP id d2e1a72fcca58-72fd0c02f1emr36077587b3a.11.1738688736335; Tue, 04 Feb 2025 09:05:36 -0800 (PST) X-Google-Smtp-Source: AGHT+IEG9Uiqc+7PlX1ZsIPR20CQZaNTTSfUWKtsKFXqKtj6fdi754GWLoojlhA+zlni6fNFJsLjxg== X-Received: by 2002:a05:6a00:114d:b0:728:ecab:51e3 with SMTP id d2e1a72fcca58-72fd0c02f1emr36077504b3a.11.1738688735422; Tue, 04 Feb 2025 09:05:35 -0800 (PST) Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69cddbbsm10772788b3a.125.2025.02.04.09.05.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:05:35 -0800 (PST) From: Aditya Kumar Singh Date: Tue, 04 Feb 2025 22:35:13 +0530 Subject: [PATCH v2 7/8] wifi: ath12k: allocate new links in change_vif_links() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250204-unlink_link_arvif_from_chanctx-v2-7-764fb5973c1a@oss.qualcomm.com> References: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> In-Reply-To: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> To: Kalle Valo , Jeff Johnson Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org, Vasanthakumar Thiagarajan , Aditya Kumar Singh X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: r5vG8p3GlwaG6A_-KwI0vDOtN4EV9jW2 X-Proofpoint-GUID: r5vG8p3GlwaG6A_-KwI0vDOtN4EV9jW2 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-04_08,2025-02-04_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 bulkscore=0 priorityscore=1501 mlxscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2501170000 definitions=main-2502040132 Currently, links in an interface are allocated during channel assignment via assign_vif_chanctx(). Conversely, links are deleted during channel unassignment via unassign_vif_chanctx(). However, deleting links during channel unassignment does not comply with mac80211 link handling. Therefore, this process should be managed within change_vif_links(). To maintain symmetry, link addition should also be handled in change_vif_links(). Hence, add changes to allocate link arvif in change_vif_links(). Creating the link interface on firmware will still be done during channel assignment. And since link will be created but channel might not be assigned, there is a need now to test is_created flag in ath12k_mac_mlo_get_vdev_args() before accessing link_conf or else link bring up will fail. A subsequent change will handle link removal part. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 Reviewed-by: Vasanthakumar Thiagarajan Signed-off-by: Aditya Kumar Singh Tested-by: Nicolas Escande --- drivers/net/wireless/ath/ath12k/mac.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/a= th/ath12k/mac.c index 4f5bda45387ee16e1ab7a3c15a72252933f29129..9ac2f883cd5cc3ee5950fabdf6b= 89e5330171468 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -3600,6 +3600,31 @@ ath12k_mac_op_change_vif_links(struct ieee80211_hw *= hw, u16 old_links, u16 new_links, struct ieee80211_bss_conf *ol[IEEE80211_MLD_MAX_NUM_LINKS]) { + struct ath12k_vif *ahvif =3D ath12k_vif_to_ahvif(vif); + unsigned long to_add =3D ~old_links & new_links; + struct ath12k_hw *ah =3D ath12k_hw_to_ah(hw); + struct ath12k_link_vif *arvif; + u8 link_id; + + lockdep_assert_wiphy(hw->wiphy); + + ath12k_generic_dbg(ATH12K_DBG_MAC, + "mac vif link changed for MLD %pM old_links 0x%x new_links 0x%x\n", + vif->addr, old_links, new_links); + + for_each_set_bit(link_id, &to_add, IEEE80211_MLD_MAX_NUM_LINKS) { + arvif =3D wiphy_dereference(hw->wiphy, ahvif->link[link_id]); + /* mac80211 wants to add link but driver already has the + * link. This should not happen ideally. + */ + if (WARN_ON(arvif)) + return -EINVAL; + + arvif =3D ath12k_mac_assign_link_vif(ah, vif, link_id); + if (WARN_ON(!arvif)) + return -EINVAL; + } + return 0; } =20 @@ -8765,6 +8790,9 @@ ath12k_mac_mlo_get_vdev_args(struct ath12k_link_vif *= arvif, if (arvif =3D=3D arvif_p) continue; =20 + if (!arvif_p->is_created) + continue; + link_conf =3D wiphy_dereference(ahvif->ah->hw->wiphy, ahvif->vif->link_conf[arvif_p->link_id]); =20 --=20 2.34.1 From nobody Sun Dec 14 08:06:54 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C7A8B217661 for ; Tue, 4 Feb 2025 17:05:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688741; cv=none; b=RibYZtHExA7XGUObw7NgqD/YeNxeZ7mmlZ5WSsJV3gAj8nmZTG19dsfJYfECidXa1PNCgRieZSdeltQZh74L3VaopdFwlCMGgxeLoAxWueBjDU/CANcr3BoTi0FTBDMogkrOLN+vhseCkwfBrLsTX3PakOBFa17Bls3Xyowly7I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738688741; c=relaxed/simple; bh=H5SVcCEw7SFD7kxR7pbqt98rEJ5prStjaWsC3qTVMRM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bx8GCJPchhGXBVso6eGr7gAXPGfURczoAlMO0PUSJ2eeMwAAoenxlDvpi63PZHmbWFEZk/5kiUbMTJLvfFTPdDU3PmDuc26P4ai0p6jhEGUBcU0mSBo6kozEK+/S2WvcpycKptGqfkcWIGuW8sJXEPe6yJENfctDjQaU+TC0zfU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=dkYdlNYE; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="dkYdlNYE" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 514Guq1X024772 for ; Tue, 4 Feb 2025 17:05:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= TXWRaM1cylEvYyBQLAOCl/odoq1V8DJ3wyrrRKU9QRw=; b=dkYdlNYEiN5KUGH8 nn3b2mWakSBWRkQGi8OsChdx5fTRnnpQOP5sXKul9A/haO5l6+GZY2LVzvvCyXHl Wq5TyitWmDIsEgmTRqZtmUCLcGXHnlRWwVa7SrwWcFHYSzT2jiuHLyjQYyLknSbi /19EJcHDmkgYULs2WbAfznNo1Csxp18Tf4B5jI8pv2SXL8U3F+EGnKops7p2qrLK NAfDsuQSgxXF82Y00U3pHNzQaT8oFl9NFL7j/tF2H/rwQ27Csyr/78kJ0/wk8AbM r4CBqUdp+p7XRJw8iXVHd3i2JKwZgwnTzmIE0WBPvKmovhmuzXXbg3WM1T3GROc3 0wDGog== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 44kpuy80wb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 04 Feb 2025 17:05:39 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-21f022fc6a3so22443415ad.1 for ; Tue, 04 Feb 2025 09:05:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738688738; x=1739293538; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TXWRaM1cylEvYyBQLAOCl/odoq1V8DJ3wyrrRKU9QRw=; b=KYmoJNPXKJi54BuMoZp1K2uMmGx15rNtPKWaiCqIHfeSV/K/Yp6L3As8Z9T6/i1JLn xP6IJoblU4j7ipzRrbjo3pALHmMBoV/8eyTcMfCfy1Tsf+xToO2mhK7sVTk/jsfM1Kwr lxAaIf2PprNGUljwL6CT/ZnOsbouZbLIIhMtxxGUsrDW3u92n5Lkm54G4UzTtc7vTyCu bn96n2HG7dA54k164fjyJ+Ei/g1fQN6cHsRalvWoE4k+jm57PXIF91n9iVVXolHffw2A m7gBdQezwBH6sceoYwFzEcLZq0OTgy9In8ezVN3v4QiUPO1e5jN1Ln4qmcOC+xfZLEIc IJzQ== X-Forwarded-Encrypted: i=1; AJvYcCVBTFPbkm/SZzwvQrwJC50DOjsGL+Uqp+mbr/yTpLKSIl0ssZ5LAxtctuC6G4wpYyK5Sy6kdGy2aJY+5fE=@vger.kernel.org X-Gm-Message-State: AOJu0YyXyrU8RXa7o1OhwSDAFeXvBEvSHiZvbZJ/P6XJlhgXwMHLADlC Mfev5Y2VP4LuHMyBi4aPEosVU5jjGCJrAK+FUliyc3HeGuuDLBsDVuJZXzTVyea45Kp3/BsJbGx YayrNNbHjIHg4cgUrhWLB+BAEpiLywF2tZGvO6g+GdZoTXWfSNLN6q1h/F+xAiMMy18zXqbo= X-Gm-Gg: ASbGncvu/Wc9FSnE8WBRzYk1jhPATtN4cDZpIwZA1aFp2Idt8jdseaSGRPfJ7Exd+8X F6HXiKdpsRi1A4RaKxWP+OwDnpP7pFvWJ3QhJTud5wVrURx5wvQAm6ekNGXOkPI5vTdVl+aUP86 fo2mF7w6AF0Bm1CTcOpCje1Ek0BmltqRD8BcHgEHjwuz0D4P90bKAm6FHvCmK1o1m6vDo60L1FA SAHIjYB5X4WcpHMKoHwTO1d257IdhvQunL6OQhTEuactQMv6z5JiOkOa6lUkI0aYonXNb5Mx/LF JwBkqJlC2tDqLJfGWTeUEZO0LSr/5/uNIMo/Dgh+uL1OcebO//In8xlZ20c4khCk9Ze7sjEY23p CCm0NSdNn64pHxSFsFBupHmlB557uYw== X-Received: by 2002:a05:6a21:918b:b0:1e0:d5be:bf75 with SMTP id adf61e73a8af0-1edd772d3a5mr6632214637.17.1738688738106; Tue, 04 Feb 2025 09:05:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IEFOZCGllE9vRCHjbzgU7t9YEmIsU4+LL2GFRur7KyGfweOuCHEm8rmV9rRR5FRsq2tNOAJrA== X-Received: by 2002:a05:6a21:918b:b0:1e0:d5be:bf75 with SMTP id adf61e73a8af0-1edd772d3a5mr6632167637.17.1738688737725; Tue, 04 Feb 2025 09:05:37 -0800 (PST) Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72fe69cddbbsm10772788b3a.125.2025.02.04.09.05.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Feb 2025 09:05:37 -0800 (PST) From: Aditya Kumar Singh Date: Tue, 04 Feb 2025 22:35:14 +0530 Subject: [PATCH v2 8/8] wifi: ath12k: handle link removal in change_vif_links() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250204-unlink_link_arvif_from_chanctx-v2-8-764fb5973c1a@oss.qualcomm.com> References: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> In-Reply-To: <20250204-unlink_link_arvif_from_chanctx-v2-0-764fb5973c1a@oss.qualcomm.com> To: Kalle Valo , Jeff Johnson Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org, Aditya Kumar Singh X-Mailer: b4 0.14.2 X-Proofpoint-GUID: Typ-HR1UO7UScvW3CYwHqRodVyqRAdMb X-Proofpoint-ORIG-GUID: Typ-HR1UO7UScvW3CYwHqRodVyqRAdMb X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-02-04_08,2025-02-04_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 bulkscore=0 mlxlogscore=848 spamscore=0 mlxscore=0 malwarescore=0 lowpriorityscore=0 impostorscore=0 clxscore=1015 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2501170000 definitions=main-2502040132 Currently, the link interface is deleted during channel unassignment, which does not align with mac80211 link handling. Therefore, add changes to only perform vdev stop during channel unassignment. The actual vdev deletion will occur in change_vif_links(). Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 Signed-off-by: Aditya Kumar Singh Reviewed-by: Vasanthakumar Thiagarajan Tested-by: Nicolas Escande --- drivers/net/wireless/ath/ath12k/mac.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/a= th/ath12k/mac.c index 9ac2f883cd5cc3ee5950fabdf6b89e5330171468..682ea0fc9a857a97000f1e683eb= 145f36ef0dd17 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -3601,6 +3601,7 @@ ath12k_mac_op_change_vif_links(struct ieee80211_hw *h= w, struct ieee80211_bss_conf *ol[IEEE80211_MLD_MAX_NUM_LINKS]) { struct ath12k_vif *ahvif =3D ath12k_vif_to_ahvif(vif); + unsigned long to_remove =3D old_links & ~new_links; unsigned long to_add =3D ~old_links & new_links; struct ath12k_hw *ah =3D ath12k_hw_to_ah(hw); struct ath12k_link_vif *arvif; @@ -3625,6 +3626,21 @@ ath12k_mac_op_change_vif_links(struct ieee80211_hw *= hw, return -EINVAL; } =20 + for_each_set_bit(link_id, &to_remove, IEEE80211_MLD_MAX_NUM_LINKS) { + arvif =3D wiphy_dereference(hw->wiphy, ahvif->link[link_id]); + if (WARN_ON(!arvif)) + return -EINVAL; + + if (!arvif->is_created) + continue; + + if (WARN_ON(!arvif->ar)) + return -EINVAL; + + ath12k_mac_remove_link_interface(hw, arvif); + ath12k_mac_unassign_link_vif(arvif); + } + return 0; } =20 @@ -9438,9 +9454,6 @@ ath12k_mac_op_unassign_vif_chanctx(struct ieee80211_h= w *hw, if (ahvif->vdev_type !=3D WMI_VDEV_TYPE_MONITOR && ar->num_started_vdevs =3D=3D 1 && ar->monitor_vdev_created) ath12k_mac_monitor_stop(ar); - - ath12k_mac_remove_link_interface(hw, arvif); - ath12k_mac_unassign_link_vif(arvif); } =20 static int --=20 2.34.1