From nobody Sat Oct 4 22:39:26 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 4FE7A2E1C65 for ; Tue, 12 Aug 2025 07:23:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754983427; cv=none; b=MtzE/pkGPt0Ug6ptPFlHWYTwoBPQEuUzHhUmeB7UaqUk5bggdpvpBQ+p3Jq5c7aO9hubH2OGoNbJ6TgBK6hsHyjKMYa+6ZL5PJumDwCR18BpGtMUUh7AlxnyCU1llNGUSWzW0L/PSQomJJTlJZKuHUAWypyYJWf2OZbYNmlGTPM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754983427; c=relaxed/simple; bh=DtC2OsVOKnqsrqtLTXkC7XoJUJzmg1JNdxss1XeeorU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JPKPdrsb6MtQTB95ghHcF+T4f1loigKX1C2XtLlHb7w2h6grAPZVVHoY1YV44hwp8XFqgHTjaSvhMPzILLIMxIWWBiOQvsOY7yOqmXljQ1pO8/zg4zZ+UGZXb+a4en9Ndyo2yjhOVi5US91xLpl80g1gXd3QJfydIYX9R+eXgnc= 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=UMH6I2FI; arc=none smtp.client-ip=205.220.180.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="UMH6I2FI" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57C5XG9K021498 for ; Tue, 12 Aug 2025 07:23:45 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= 0B4qMvpNIioMsMKLoBwgy4Arte0jfm66EiAkWrIKbZY=; b=UMH6I2FIBpyFFOvy vneN8KqKcvVyI8iDEKY2o5cXUifVY1gLOWY/KhXUFOAliSsQs4OmyYwo+zIHCroy fxdSiw8Q68ZpjQDYLxVW9Uq/K117ewRnj6IfvLSCN8bONOmpIu+pH56gEmk2d2dm H5bZPZE0t25ow8xjzeWztwQoSYbarH+qGxdEskurXGcj3TGVp4GdCmNaxNcYOGcm lQN8xe0/GginY418adxI21zmhpuTnz0eWEm29/IbLGbypCYnHvvk9s76mC3V1eNg gajP/iazq6N36l4eo7kQCjctp2oKo4upm6vHKayF1ZJ+IwkCj0T0F7cvFSzRUlQM H27NvA== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48fm3vj34k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 12 Aug 2025 07:23:44 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-b423dcff27aso8851743a12.0 for ; Tue, 12 Aug 2025 00:23:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754983424; x=1755588224; 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=0B4qMvpNIioMsMKLoBwgy4Arte0jfm66EiAkWrIKbZY=; b=lTyYtwhzqleH+vN/H1om9zNezj6R0jr/e6GcoQekgR/C6RoiCrHTy+y1QRdDD55gac VuAH2E0Yv3+UT1dW8dwQSixC0RwxZkZ9K+ltMx7q8GFb5ANNfbBtG93EbWmcF45tFabo ChJuM2BUx/NOGODIHVM5lfKYsUSgMFsHjMXPh9rxsm2uPf6/v6CnD7bZNZbI8SXkX7xr jJRUNQP8/cDR7bvdAv9y5LqUoI3ET8MiICbEbApC1amcHBQ9+t9xJrLWd6ZdIUdi+luZ f4o3BS10sud9vu2beYu9O2uqyLEKowSixvnfcTTUEqNDMe6q0pvNiNT1tJjz2idKwKYA 13MQ== X-Forwarded-Encrypted: i=1; AJvYcCWaCROrupB12G5QS5fNR7jM3S9bAs1T6cB9y6knLzYth1xqxkutZ4SUtrR2eUyIC7WfAlp95Jcy5epP6qA=@vger.kernel.org X-Gm-Message-State: AOJu0YzUbqRUJ0AaeBxkIzubEKskpUOemlfcpgPsYByRhUy1TgV4C43s jkTkQm4DiHYCwfEnZYvzYqdjkQuKIhDhAS8SEcHErxyFmRfPIEuV47nqAG/wJmg6tDNN30HrEVx jO2PHpJG/94OZFUH0VulpXyLHGH1nao7JJRxoDHKdB++4yM4WV8u4o+LoBpROPt43HUw= X-Gm-Gg: ASbGnctvBnjK70TGmf1m1GwbmHVkGWa2n1FXhMllLWc6VMguk7qXYCZp0YjbE0+5lc9 3u6KYFD3rij0kNaYwVHlfDFwlQ7OT0oWOVW8ORV1Go+SSuM5bBwyDN3FIQXX1iSUn0OEX3B5qYh GqPi6SGVTuHO8lNOX4GvOB0ZZPpuJfrKUu7DVbk+Xn7Swc/evhrE8rzAmm/16dObRnKr7IPdzeU +guRCvJ2ETFbSLvY+aPPXpNwpME90ZjpkzCh4+5S7469LsgJ7c3r3dOwNImcjL6g8yCkB5v3f42 3XN1K12yxqNcwOVfzw4wwif6sn6OYdKpux4jsJMjFQ8ilSk3bt6FWinCNdI1aCvVLdzyKwM+lM/ WI1v6hgBGGLXDBP3ruS1PGA4FVb4EAqD/0tHkXRWl3bwgs073FH8LWl5XXKwH3CMz X-Received: by 2002:a05:6a20:548d:b0:240:2421:b912 with SMTP id adf61e73a8af0-240551f3000mr22882661637.37.1754983423721; Tue, 12 Aug 2025 00:23:43 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGccrCLKxIJC3TIBr35+6WgaVzfukq44h2Rsk86RhNLOA5ZjFQm0bJpPgTKOY3SrfRO7bcjkg== X-Received: by 2002:a05:6a20:548d:b0:240:2421:b912 with SMTP id adf61e73a8af0-240551f3000mr22882632637.37.1754983423271; Tue, 12 Aug 2025 00:23:43 -0700 (PDT) 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 41be03b00d2f7-b422bafcce2sm24547338a12.52.2025.08.12.00.23.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Aug 2025 00:23:42 -0700 (PDT) From: Aditya Kumar Singh Date: Tue, 12 Aug 2025 12:53:28 +0530 Subject: [PATCH wireless-next v4 1/3] wifi: cfg80211: fix return value in cfg80211_get_radio_idx_by_chan() 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: <20250812-fix_scan_ap_flag_requirement_during_mlo-v4-1-383ffb6da213@oss.qualcomm.com> References: <20250812-fix_scan_ap_flag_requirement_during_mlo-v4-0-383ffb6da213@oss.qualcomm.com> In-Reply-To: <20250812-fix_scan_ap_flag_requirement_during_mlo-v4-0-383ffb6da213@oss.qualcomm.com> To: Johannes Berg , Aditya Kumar Singh Cc: Johannes Berg , linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODExMDEwNyBTYWx0ZWRfXz02WRv0jkvKJ ir0JO9HxUYo1e/hvBg/NV9Ks4BOVzItdqXHWqZ5JlELzXx2nfC2JsAFggVN0zrXHwWQojcbKSpL 41YlTmQKBOXj9bB6GZb9d/0dBe2bZLvMaYWdHRCXjOhMgphNUju0CHGjjTLjBAKdJwMcU1obyI+ W0yRKBEhsU0fZzAWw7/PTCB1yf946u/v3IJq6wHfPmwD3YgVQCQO/B4sbnGnx5bMdlXrzW8p4D6 brAYcJZgl5q64OlezArmKUZBKLbSjsw40w8DcjfYp8n3klbknPsBQ+I0KaDvv0uQPK80KGNyH0S 25VkXh577km8VkTGygHx9CaPn8LNCHIFOtS6t9lf5rd79HZZfC3Q86xM+J2Qluhr0yMnPa+uQrt tX+7m24R X-Proofpoint-GUID: t9_jjjwn9JhUWxs63xTHWGAsbzUXGTMU X-Authority-Analysis: v=2.4 cv=A+1sP7WG c=1 sm=1 tr=0 ts=689aec00 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=KvhtT1cOtCMy9zCwnqwA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-ORIG-GUID: t9_jjjwn9JhUWxs63xTHWGAsbzUXGTMU X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-12_02,2025-08-11_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 priorityscore=1501 malwarescore=0 spamscore=0 phishscore=0 clxscore=1015 adultscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508110107 If a valid radio index is not found, the function returns -ENOENT. If the channel argument itself is invalid, it returns -EINVAL. However, since the caller only checks for < 0, the distinction between these error codes is not utilized much. Also, handling these two distinct error codes throughout the codebase adds complexity, as both cases must be addressed separately. A subsequent change aims to simplify this by using a single error code for all invalid cases, making error handling more consistent and streamlined. To support this change, update the return value to -EINVAL when a valid radio index is not found. This is still appropriate because, even if the channel argument is structurally valid, the absence of a corresponding radio index implies that the argument is effectively invalid=E2=80=94otherw= ise, a valid index would have been found. Signed-off-by: Aditya Kumar Singh --- include/net/cfg80211.h | 2 +- net/wireless/util.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 406626ff6cc89df4df30e6e623403b4d9ceb6cbd..cb1c36be27493bc0b356497cdbc= 68f1be7b4a94d 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -9548,7 +9548,7 @@ int cfg80211_iter_combinations(struct wiphy *wiphy, * @wiphy: the wiphy * @chan: channel for which the supported radio index is required * - * Return: radio index on success or a negative error code + * Return: radio index on success or -EINVAL otherwise */ int cfg80211_get_radio_idx_by_chan(struct wiphy *wiphy, const struct ieee80211_channel *chan); diff --git a/net/wireless/util.c b/net/wireless/util.c index 240c68baa3d1f71a80a36af854acf4aa7ce75d05..d12d49134c88159f19c2226517d= 129f74f3ce764 100644 --- a/net/wireless/util.c +++ b/net/wireless/util.c @@ -2584,7 +2584,7 @@ int cfg80211_get_radio_idx_by_chan(struct wiphy *wiph= y, } } =20 - return -ENOENT; + return -EINVAL; } EXPORT_SYMBOL(cfg80211_get_radio_idx_by_chan); =20 --=20 2.34.1 From nobody Sat Oct 4 22:39:26 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 C4BE02E2644 for ; Tue, 12 Aug 2025 07:23:47 +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=1754983429; cv=none; b=apHnMPgLxXYh9mlxvVRxn8PfE79SbbkuJGHKedY6ARYDBE/21svHgz2f4U+AOEUzWIwf/8DzODadAEM5Zhkg/6ts0sKGXWHgJKxpWrUoZBMwmSVjuUNhhC1rievXqFoZazV3hjOlYC8OB8ZMwcH7alN66+bhysLJUxq/Ag1ZMHk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754983429; c=relaxed/simple; bh=dlXqNiiTKDdVHbbv9I6JqgnIh525x+Ab2rqKF3BF3eQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rfE96coMhxEiIv/PGliIcB6dYHlXz0n0bSb9iaYu5UZvLzcPTjWsbVQME/1RHpBaH21cbWMFDFI42CkO52V0qy4YEChsSx1IveSWttDJDFeSMjnbLC2mUVWVGa4iTdOJyobIw3TSIiYK2wkYeUoeZTrLBJd/+RC6HRwBMzqImJs= 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=HU0K5DgF; 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="HU0K5DgF" 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 57C36sjh005801 for ; Tue, 12 Aug 2025 07:23:47 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= M07C5PvjL2mzdd0lFp/tl49J1J/XjIm7qCAeGhKu034=; b=HU0K5DgF4tQyHvDF DfSVU79+BqO/8EYK9o6N4G4eJUCLbGP04yN38NTEmzeEro3NdiY9SpNFW2ncHxZF q1JpBLuwuajHIgpHknpZ3deRL6Q1VSotkdxodjsCG4EMBqHij+u32Q8Y73Oi0Ifi MhBokXMRqCyPG/GA+3K2IX0w2LEuTRm0tl6hL8VhbE6vYDFp/Z13HFmz2A4ThVAO 3C/LTSMo3usoAatMdllZtxSvjL4zN2VvGms8TWs/MCPAP2v+lV5c00vkjyUYXfbs SQHrKh/9TRMfg/RhhrOgrcg4XtIMCN5I5VlSF7bCawzSQ3rcDZ6Lqb4fSroZHfxK o1PlQQ== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48fjxbabbh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 12 Aug 2025 07:23:46 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-b31bc3128fcso9791603a12.0 for ; Tue, 12 Aug 2025 00:23:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754983426; x=1755588226; 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=M07C5PvjL2mzdd0lFp/tl49J1J/XjIm7qCAeGhKu034=; b=iV9kNKPFNRTJ7GW2Th/sBI/K8WnDXbPqP2OcknzVfBm0LiMIBuXsypsBNrdNxc88ue jzQTxL4X28BODv8+KJJdi/lR9hBChQbNdKLJ9R9/8wA8qFNu13covEXRBP3X1X+wRYS7 yAanuwQZ7lPge8MFFo+jq5S1nWNgSHowivfriQinggYa4txJknbmUqplhmhr5TNtD6tp HnZ8nE8X7YdNuphC4kd9gaEQabYYn+EKlbhKDauTIjYTb7s6i/tEWuf6iprmtuxt8zja ObWZDReapO75ZmvOx8hlVO4QWUUWXcaKcAhvPlAZ1nZIudEXEZb9MkMUN8CAYVZEGfGd GL5Q== X-Forwarded-Encrypted: i=1; AJvYcCVvLGl7t2AUEbj2B2gV9QgaIiJTxAa3g80ZYT0YYxI2Eq7xgrquigKOYuigUzr/Y8j5LTLNn91v69JSrP0=@vger.kernel.org X-Gm-Message-State: AOJu0YyZjrAqOQ/rv5w/bnNSQvfeuyHEnF7k6oo1kzIoHASQIByhqK2F jvXOEggctfMmublg8m/8bKvbUZ0krOK3sq3XNnmGEcZIP0om5OdFmTCkBNVe1D9bDlSeRee53Wk 1Isd467Mdpsr7Ir8uSxGwG20/z3BAm8B0Go4/gC+HoTwfP0lq6mM1nnM8dFYBO5RSYso= X-Gm-Gg: ASbGnctE6TMwZXNdWB+jcV7qeT50CU2EWbgqxKoHRrpAk2DSlmACRjD2i6TPdaH9nWU KSpIupBhNDyrTdYEHSA6qezvgFQK/DV3eJps6wX6oHD58Tu62UcWREzUofaGvath4kDVcU0npyh 0jMetzxLYdZxatsIMJF7R4cbe351pKxejDMuTqSaEIT+H2Amh69kxETGZqXXlDOFd75MrJnSeh8 6aEghEQ2Ayu0oZA4n4UjsROjmXzvA+YmbW8WjnoUNUPXcH3UepNvrJoN7dyEHEhxdOCMnTB4PRO zm6q/XY/1m7/MUZHsPxPQ5lYVe0GdSI2PjpFjy/ectrn68se9tL1+TJ77rVUOXSiRJkJD6IDABQ YSBbG4lw96LqwgnY59HngI2x2gt5D4uL1G5rDwXDXhG1I95v0NTa84a8CiFRH1bT+ X-Received: by 2002:a05:6a20:3943:b0:240:1ae7:d918 with SMTP id adf61e73a8af0-2409a9ed58cmr3795762637.45.1754983425819; Tue, 12 Aug 2025 00:23:45 -0700 (PDT) X-Google-Smtp-Source: AGHT+IES1xXCu5aUaNjvzm/8zEPHcm0APCLCLG9HjMswe88gdDOplMJhkGlfUk+xwl7iu/ggw4yNLw== X-Received: by 2002:a05:6a20:3943:b0:240:1ae7:d918 with SMTP id adf61e73a8af0-2409a9ed58cmr3795726637.45.1754983425385; Tue, 12 Aug 2025 00:23:45 -0700 (PDT) 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 41be03b00d2f7-b422bafcce2sm24547338a12.52.2025.08.12.00.23.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Aug 2025 00:23:45 -0700 (PDT) From: Aditya Kumar Singh Date: Tue, 12 Aug 2025 12:53:29 +0530 Subject: [PATCH wireless-next v4 2/3] wifi: mac80211: simplify return value handling of cfg80211_get_radio_idx_by_chan() 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: <20250812-fix_scan_ap_flag_requirement_during_mlo-v4-2-383ffb6da213@oss.qualcomm.com> References: <20250812-fix_scan_ap_flag_requirement_during_mlo-v4-0-383ffb6da213@oss.qualcomm.com> In-Reply-To: <20250812-fix_scan_ap_flag_requirement_during_mlo-v4-0-383ffb6da213@oss.qualcomm.com> To: Johannes Berg , Aditya Kumar Singh Cc: Johannes Berg , linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Authority-Analysis: v=2.4 cv=G6EcE8k5 c=1 sm=1 tr=0 ts=689aec02 cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=JbWyVvrk7yFLVdDgZQ0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODExMDA5NyBTYWx0ZWRfX8olHr2XcYsOy Qtl4xJ+Mo/k75k0f2jNnYPVjmfw+PZc1457E9sWwxTF4SdRzTj9fyNq55YSwiSJwk8NGNqNbOOF YZmpd4gpzO5XJl4/+1dG5KfhKVozq2elzAqZvOzJ5yT4n/TeG2WPVJVah6E2fSmyZlbQDAr/kWx RawykL13JMXff70mV6+F8IluLZlOP+UOD0lk0MmgCW5e9/iZ1V2P1z9JLY3fe3TalF9p29rzZtT gQvdSXF8aIg/j9eNokpz6EXnjLQ0Ct2qrV7JPIJLOLv2MJP4LFR0diTzRY4CEPUO/l4HbYO3e6t X2t2UKVkQ85Qd781R8mH3aRIOD5R5hCGsYDq5IcirQ9Btnuoacq/aJudkPQWcobcPLpQZKnfd+x AjGaFBdP X-Proofpoint-ORIG-GUID: NhSQLeJnzYzeGCrIkyPOHGYKEl65VPv1 X-Proofpoint-GUID: NhSQLeJnzYzeGCrIkyPOHGYKEl65VPv1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-12_02,2025-08-11_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 bulkscore=0 spamscore=0 phishscore=0 malwarescore=0 adultscore=0 impostorscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508110097 In several instances where cfg80211_get_radio_idx_by_chan() is called, redundant checks are performed across function =E2=80=94 such as verifying = if wiphy->n_radio < 2 or if the returned index is negative. These checks are unnecessary, as the return value can be directly compared. Moreover, the function can be safely called even when radio-level properties are not explicitly advertised since in such case in each call it is going to get same error value. Therefore, simplify the usage of this function across all such cases by removing redundant conditions and relying on the return value directly. Signed-off-by: Aditya Kumar Singh --- net/mac80211/cfg.c | 13 ------------- net/mac80211/chan.c | 11 ----------- net/mac80211/util.c | 15 ++++++--------- 3 files changed, 6 insertions(+), 33 deletions(-) diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 2ed07fa121ab73d3afd2f841eb53e6cdc0be91a3..d4100d046442a51a0baf42d6ab3= b921302d307f7 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -3677,12 +3677,7 @@ static bool ieee80211_is_scan_ongoing(struct wiphy *= wiphy, if (list_empty(&local->roc_list) && !local->scanning) return false; =20 - if (wiphy->n_radio < 2) - return true; - req_radio_idx =3D cfg80211_get_radio_idx_by_chan(wiphy, chandef->chan); - if (req_radio_idx < 0) - return true; =20 if (local->scanning) { scan_req =3D wiphy_dereference(wiphy, local->scan_req); @@ -3701,14 +3696,6 @@ static bool ieee80211_is_scan_ongoing(struct wiphy *= wiphy, list_for_each_entry(roc, &local->roc_list, list) { chan_radio_idx =3D cfg80211_get_radio_idx_by_chan(wiphy, roc->chan); - /* - * The roc work is added but chan_radio_idx is invalid. - * Should not happen but if it does, let's not take - * risk and return true. - */ - if (chan_radio_idx < 0) - return true; - if (chan_radio_idx =3D=3D req_radio_idx) return true; } diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c index c9cea0e7ac169839f883f73186b575eacfe55db5..57065714cf8ceb5e612705ddc91= 3b90c1f296e2a 100644 --- a/net/mac80211/chan.c +++ b/net/mac80211/chan.c @@ -659,19 +659,8 @@ bool ieee80211_is_radar_required(struct ieee80211_loca= l *local, =20 for_each_sdata_link(local, link) { if (link->radar_required) { - if (wiphy->n_radio < 2) - return true; - chan =3D link->conf->chanreq.oper.chan; radio_idx =3D cfg80211_get_radio_idx_by_chan(wiphy, chan); - /* - * The radio index (radio_idx) is expected to be valid, - * as it's derived from a channel tied to a link. If - * it's invalid (i.e., negative), return true to avoid - * potential issues with radar-sensitive operations. - */ - if (radio_idx < 0) - return true; =20 if (ieee80211_is_radio_idx_in_scan_req(wiphy, req, radio_idx)) diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 32f1bc5908c571416df905bdda1ba54dd7b41f33..51e3e3c913f7f9faa4a0283c0aa= 9509efc805391 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -4022,16 +4022,13 @@ bool ieee80211_is_radio_idx_in_scan_req(struct wiph= y *wiphy, for (i =3D 0; i < scan_req->n_channels; i++) { chan =3D scan_req->channels[i]; chan_radio_idx =3D cfg80211_get_radio_idx_by_chan(wiphy, chan); - /* - * The chan_radio_idx should be valid since it's taken from a - * valid scan request. - * However, if chan_radio_idx is unexpectedly invalid (negative), - * we take a conservative approach and assume the scan request - * might use the specified radio_idx. Hence, return true. - */ - if (WARN_ON(chan_radio_idx < 0)) - return true; =20 + /* The radio index either matched successfully, or an error + * occurred. For example, if radio-level information is + * missing, the same error value is returned. This + * typically implies a single-radio setup, in which case + * the operation should not be allowed. + */ if (chan_radio_idx =3D=3D radio_idx) return true; } --=20 2.34.1 From nobody Sat Oct 4 22:39:26 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 7B21D2E282A for ; Tue, 12 Aug 2025 07:23:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754983432; cv=none; b=kQ/M9stdLZNVEnKHlgXrycIrUnTWN+u2j4Sq6AK5hOY4p5H9y6bKHKglEEIJvhT8B+dkVUF3W3h8l6P3Xf4lTz7+HgHyRtqA7LGvVs9EjM8PZ1pXcjIh43efi1e8ApTewfD6pFk9owR/tGUb5d5Jskt4UkSGI6ny4JBFUR20tDA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754983432; c=relaxed/simple; bh=sXf/tzHPxiEkmS3fi5HIa7z0JKn7aB250VO7t0cEATU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rm7XOirp1HIK86YE0rXy6viJdwj+uWkQ0RFdRG5EkoJrNtzSDR3GwRyTttwvZwq+L5eyyVM8CZAYjHwkIaldwBfpIdimkuNTDHnAWwmEvUevhDkcQIvfncav40Bl3mhzGjED4b90kGYtmHY1Svxlpsd6+OO4STTf/16KnaR7OLY= 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=HdltTWNy; arc=none smtp.client-ip=205.220.180.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="HdltTWNy" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57BJRXNv026164 for ; Tue, 12 Aug 2025 07:23:49 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= qGEZ67kEmAoqpjitMp3Ll7+BdbW0GOjiSQsfDHXAo68=; b=HdltTWNykpnMGAnK PMUVu4Iw/wQoJjMbHQogvgyAqiPWwL5e3EO/ALuhT91iIxj9qQnLq4nPHKHGp2mb A981Z/AvdtCnsCa29HwLyRiPcaEGQC5hY6NygmrTW0sY5U1lF4vC7hyylhJLfNVM idGe28OpW81/bg+H69Ud3Qbm2ebnhawCVMYdj5gj1zP0THasVPhJPUNcWGB+LkFg Mfohv8WJQLW4kbib932MFKEyj29qLol4rWsDIioULw0kCeWHGjQFpNcxZ439nsAo iZQvYhk70NzoGlC08CYHK+b6i5Ni/SBHwWPhLUEcYHyJNAQs6L5oEiWBuxR1joFV Opz6Og== Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48eqhx5ddu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Tue, 12 Aug 2025 07:23:49 +0000 (GMT) Received: by mail-pf1-f197.google.com with SMTP id d2e1a72fcca58-74b29ee4f8bso5333366b3a.2 for ; Tue, 12 Aug 2025 00:23:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754983428; x=1755588228; 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=qGEZ67kEmAoqpjitMp3Ll7+BdbW0GOjiSQsfDHXAo68=; b=Jzwp3LxIOJ48Rn1HBVXN3wORQzrE3Jw5Ur0/MS+/s8rhUCE68qfFNrdLDre5FD4evQ qjf+5ACM7q4+zCdpXyICr2liUS+CZ9JdgHUlQjPlC1UF6XOM7kwjOoaBA/p7p63zDbjs m547Kn55x5ng/fOJpqR4aDDi8hHtvU/wV39wko+Hc1tISjQ50ARD3YNDHiEpN13+xUXn 45VRvM0ozJllh4RiypGfjazmheKfxDdTmzKg/NYA5epYLI2k+3E1A2Yanwxic1tqEOwJ d70zXcpBcdRyKJpz5td1TSzrbtjyr4auhFTLnYx2gfdN30J5v4Q3Ic8DayDY6+tX/2BV CnSQ== X-Forwarded-Encrypted: i=1; AJvYcCXVzCkt13oyONWR+l0ldvue4CZHVx2YJIGf/AbCkvPRKTTuYKY1ZDrX8CCoqrav0PDdUBnnafZxdABRTbE=@vger.kernel.org X-Gm-Message-State: AOJu0YzJt5FHnzYc8Uo76y4UwItZ7Ue+n7nJp3CnwO8XKUUBwirvp4qp ZewwmaLiFbuzsoUehe1WZlwzdCEx9/SRd6nudyOYKxewxq7CE4wLKbxBfWt8Wd/rR9eBmG9LDuA FeCCf3OWkWQTn8rq8pMTQtyqKsn0syuksXS/VfkTv8S0llZeM7twILLTZEJzDOtZYkxY= X-Gm-Gg: ASbGnctg1uxtVjfAaYUjvKXVPiLv/zf9UiEeFcpN9Zjp8Vmbp5HCjs+CUHgZOXOaBrp kJRKWjbAlQuKJpM9mgeXsqN6jyEYJjbxi4rDiHM0YrUvfciVDFDYgtalGEqNpPApZEnj8KSitz6 2A2B8esRZFF9Zb4ia20+yGFJUTE8WakgIKViAFC/lj2TPvhWe0t1HlyYSoUr8N/JShFD7FFq2ty SAeUFQVKp092LKDEgnstO1jAGnQ3O1LpkTpn1XICVdAqs/HPuCgHCHm5GnsQtdLnOf0ODePWqlp 10/imGHzukGZ8aDnVOv8awQYZAEfld7g/qJF4vGLR5bEI6sUskQenv5TCgev7NxSZbAAbeZibbN NkrJV1vSshUmz5JXmjDCEvBQmjg44LzkWOX+Z97m9lHhkOYnGaUZD+1rR11zWTXbp X-Received: by 2002:a05:6a20:a121:b0:240:1a3a:d7ed with SMTP id adf61e73a8af0-24055200eb1mr23629428637.41.1754983428027; Tue, 12 Aug 2025 00:23:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGhSrnMBPSIIBJ3L8/BeBaB8z/thQRvfAUKzIFAMBHroJSoaanlapaoH1eJeKq/MvA30JdaOA== X-Received: by 2002:a05:6a20:a121:b0:240:1a3a:d7ed with SMTP id adf61e73a8af0-24055200eb1mr23629404637.41.1754983427572; Tue, 12 Aug 2025 00:23:47 -0700 (PDT) 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 41be03b00d2f7-b422bafcce2sm24547338a12.52.2025.08.12.00.23.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Aug 2025 00:23:47 -0700 (PDT) From: Aditya Kumar Singh Date: Tue, 12 Aug 2025 12:53:30 +0530 Subject: [PATCH wireless-next v4 3/3] wifi: mac80211: consider links for validating SCAN_FLAG_AP in scan request during MLO 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: <20250812-fix_scan_ap_flag_requirement_during_mlo-v4-3-383ffb6da213@oss.qualcomm.com> References: <20250812-fix_scan_ap_flag_requirement_during_mlo-v4-0-383ffb6da213@oss.qualcomm.com> In-Reply-To: <20250812-fix_scan_ap_flag_requirement_during_mlo-v4-0-383ffb6da213@oss.qualcomm.com> To: Johannes Berg , Aditya Kumar Singh Cc: Johannes Berg , linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODEwMDA1NyBTYWx0ZWRfXwqQy6L8lCJJx cHmU6EQ6U0jJkcxbUUsynKzxWE8Rc+oxqCJK6cXq/RS2qDCQFsLBShe20DnEm7QrK1uFH9gmW3F tOIMZczP4ORoBueVASOA2kHiVuLTHNnR8OmmXAYcNHZmXMyqEV5ejUgZLmP3RBKY2NkRYehGzCv o5dHB26o6ZZaea4l++iJWxTzyw8SGM4p5OdJC7yhZSA9z5OhWnUHFimr18Z5IDKABZbYtrDT91M o6MdKfAOYu1UgnLFehqGKDQJT0Iznbb4nIVc1BKRgVnrqccHnX8YqOwAL7kqtt7W40u7Nbo71vz kkJWL+OG6ZTbd2MD5yW0enU7NURfBy7Jjj9wD0duouWXgtXomNDdh6dee3/k3UveZMGxEHQrs5+ GevYklm9 X-Proofpoint-GUID: 0i2E4F7D4VNGcSaj7LtXMtBvUyKRD1WA X-Authority-Analysis: v=2.4 cv=aYNhnQot c=1 sm=1 tr=0 ts=689aec05 cx=c_pps a=rEQLjTOiSrHUhVqRoksmgQ==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=dNCVw_J0pHFwvOnBF_QA:9 a=QEXdDO2ut3YA:10 a=2VI0MkxyNR6bbpdq8BZq:22 X-Proofpoint-ORIG-GUID: 0i2E4F7D4VNGcSaj7LtXMtBvUyKRD1WA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-12_02,2025-08-11_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 priorityscore=1501 suspectscore=0 phishscore=0 impostorscore=0 bulkscore=0 malwarescore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508100057 Commit 78a7a126dc5b ("wifi: mac80211: validate SCAN_FLAG_AP in scan request during MLO") introduced a check that rejects scan requests if any link is already beaconing. This works fine when all links share the same radio, but breaks down in multi-radio setups. Consider a scenario where a 2.4 GHz link is beaconing and a scan is requested on a 5 GHz link, each backed by a different physical radio. The current logic still blocks the scan, even though it should be allowed. As a result, interface bring-up fails unnecessarily in valid configurations. Fix this by checking whether the scan is being requested on the same underlying radio as the beaconing link. Only reject the scan if it targets a link that is already beaconing and the NL80211_FEATURE_AP_SCAN is not set. This ensures correct behavior in multi-radio environments and avoids false rejections. Fixes: 78a7a126dc5b ("wifi: mac80211: validate SCAN_FLAG_AP in scan request= during MLO") Signed-off-by: Aditya Kumar Singh --- net/mac80211/cfg.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index d4100d046442a51a0baf42d6ab3b921302d307f7..fc39a5bc2ccbd0e6fd1128c6cd4= 22f8b2c3c987b 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -3001,6 +3001,9 @@ static int ieee80211_scan(struct wiphy *wiphy, struct cfg80211_scan_request *req) { struct ieee80211_sub_if_data *sdata; + struct ieee80211_link_data *link; + struct ieee80211_channel *chan; + int radio_idx; =20 sdata =3D IEEE80211_WDEV_TO_SUB_IF(req->wdev); =20 @@ -3028,10 +3031,20 @@ static int ieee80211_scan(struct wiphy *wiphy, * the frames sent while scanning on other channel will be * lost) */ - if (ieee80211_num_beaconing_links(sdata) && - (!(wiphy->features & NL80211_FEATURE_AP_SCAN) || - !(req->flags & NL80211_SCAN_FLAG_AP))) - return -EOPNOTSUPP; + for_each_link_data(sdata, link) { + /* if the link is not beaconing, ignore it */ + if (!sdata_dereference(link->u.ap.beacon, sdata)) + continue; + + chan =3D link->conf->chanreq.oper.chan; + radio_idx =3D cfg80211_get_radio_idx_by_chan(wiphy, chan); + + if (ieee80211_is_radio_idx_in_scan_req(wiphy, req, + radio_idx) && + (!(wiphy->features & NL80211_FEATURE_AP_SCAN) || + !(req->flags & NL80211_SCAN_FLAG_AP))) + return -EOPNOTSUPP; + } break; case NL80211_IFTYPE_NAN: default: --=20 2.34.1