From nobody Wed Apr 8 04:31:49 2026 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 CE8742FCC0E for ; Tue, 10 Mar 2026 15:15:22 +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=1773155724; cv=none; b=i+5UwRrs8N4P2tWLHAtahWdBUapdV+S4j8Pfn/NgrDPoHLoqSbKG3DEuU1cEbeyFv+6fCdZa87Zao+o/onnaJRScMmM0FiR//kjc/sgYlBNNGE3jfXNXSVSCjur5iJL/QPnJ+5yjTG6s//XcFCgEFa0C1EZ058+K+FOQ81Ct1d8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773155724; c=relaxed/simple; bh=8qUXVABXvNxN+w4H1AhPKRuqBaPFqktJ/Y55GU9WYf0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Zy2+lRHQVvVZEciydTmjDz+KlvpP7hgBecfJtiN90Sbzo7XTmdgqfm0C7Mxk4c9sd0FGrFunr967fwzKzj1hf7HlPEMDKAFyZoX5+jwWPFV0hz8TAG+krbrF5yrr+4IDfToae1w7Iv4jTTcuPAZw3sRIoj6HaRVv+qpYoSUAu3E= 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=WlKm3Xbw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gueB43+K; 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="WlKm3Xbw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gueB43+K" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62ACaXKs3417140 for ; Tue, 10 Mar 2026 15:15:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=uSlTrWaw5JBs+l0UPq4TUU1RXLhNQdngfso CHAhgqLw=; b=WlKm3Xbwz28vI4ytFfkji7eCzFxKWIju5J4LTKU+zUwdx8gXGnd RzB/IUT+P2P5F5IZI1bGFyL51bs0kUOKAIKaGbA5Ixpv0lNf+54XaqEgigwRrXqE mVtDtCveaa3sQb8Tx2ovT7BAuMGEA3caY6mZKlkxt0EnfOMF+0eu2/AIxaKW++2M qD0oZOSLvfZDUmsGUVPMbLUQ10Q/Xg2kQd+JU1BEBMK+TGzlJn5RM/c6tOSoEu67 rhrPtKCnKGV9FOnWsAwiTLHTTbDUawh3apQLiZW5zQyI3/tNMsJrZ2mMd/KQRav/ HI0s6ee1+SCCvHGC/9t8zvDRoa3o9rY+zEw== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ctja28vda-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 10 Mar 2026 15:15:21 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-509177a915aso111692981cf.1 for ; Tue, 10 Mar 2026 08:15:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773155721; x=1773760521; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=uSlTrWaw5JBs+l0UPq4TUU1RXLhNQdngfsoCHAhgqLw=; b=gueB43+K4T+8eiBeijsFizY6l8/NMYGeAsWaRe3oGqr17lT/vq3CXfW764OK3f0t62 D/adGAtg4fu+J9qWxXrcP+/p1J3dbnGmWnjI3c0SEFXi6WskbtDFWl7cJ8ty7jmk2wPh UtsJrqahVgwhi+8LbyLDHfNCaKV/gjQMC3UQwbr4xEu+hw1HMC0epRPz+t5ODIJa1+qJ tXTrGfVRFm9PC/3LDLIBykZieMjOcjSer4wS7CTiTCSfw2t7rmmo9MPJCzYF892KyucU jj0I/7BgtlyD737hxptbqA1JDrO/ZEr78YnBMWZUa+CjN+AKN3d4ULM2NhMhdNq6xkzK ey8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773155721; x=1773760521; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=uSlTrWaw5JBs+l0UPq4TUU1RXLhNQdngfsoCHAhgqLw=; b=HNU+CpG3ezEypJqluueuyiMHlLEj66CHgh5K33mozPzXvE/jfcKdoR3K6KvqkyIVFr Bgn82p2YXDndxXZAJ4JHSaXRw+LiWJIF1fPQGigoorbiuaQFjNG81dcT7ZlMPj10R7jZ 3WNludTS0JsQYmHOIBWGgCuCE6mkNlhwpBa3QUgtAZR10TwCuADfpJHQcxmzeyPqORw3 klN8guz6jb0f426cvfQ1jM6M7dQFMa2FRJc6J3J4W7wxEGrJR4BsXcu4YtlfbdsB66Fp L4878ySLBo/kDFGXCQEuRu84+HbnLVN35b3arprVoqFR87DL2N2xc276oFCBMzUSRoOE gDDw== X-Gm-Message-State: AOJu0Yxjv/iY3LexJt43ef38U7FjWXbGs1osyX/eyDOY8PkLqOXt76yq ++PhK0fFv2ZDSHeWhHv+FP7gjMvxHYK8mT2halSfJHzbwLcrvh58y5+jy9LyCRV2U8t5it3AHYT SHKlnES6hMLFN1pkBbCffLe9J2GDClCnSE3HAgLruMlsHerWupTyUctPIx6Bh87W3cZg= X-Gm-Gg: ATEYQzzcp6P0rOaE8DmL5IKRj4rKm76OQNzPV7ivDZIkBaOG0uu4ZPz4x2+SSkg/ovr OzSl+AAoW85sxPVmxrQDkQc1dEJvgb8O4+C4A8l3cWV1pYQNnhW7DGk2G4inkUbuyMuaKs4w2sT 9UH0WZBJ5zh8aIauuu9Sd/48RVDKV1L0h/NbDSxghlMAbEhP6Uj0h9N8/tS8AzrbymCkCOeVjvn SiuyHJSreyT3eKdeyjzgR3GKSn2SIL3zOWQ5e/qfk42GucXY77ecWy7yG7/yhhzJ/hoitxYapxi NTnsvRZDRBYnnoFzrJn+WXAn2ZNCLEF+OKxOOd4F6nRhBX2bZ3s/8nzoW6meUgIWcD67gSDZIG5 n44myfwKlYSTWlq92XXb1A7soyJQDImeCHqKVsGAB8zZ3GtqlLgU= X-Received: by 2002:ac8:5d8f:0:b0:509:25ab:f546 with SMTP id d75a77b69052e-509260d1d42mr42376591cf.27.1773155720908; Tue, 10 Mar 2026 08:15:20 -0700 (PDT) X-Received: by 2002:ac8:5d8f:0:b0:509:25ab:f546 with SMTP id d75a77b69052e-509260d1d42mr42374801cf.27.1773155719659; Tue, 10 Mar 2026 08:15:19 -0700 (PDT) Received: from brgl-qcom.home ([2a01:cb1d:dc:7e00:47e6:5a62:7ef7:9a28]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439dae46353sm43169849f8f.33.2026.03.10.08.15.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 08:15:19 -0700 (PDT) From: Bartosz Golaszewski To: Philipp Zabel , Mark Brown , Geert Uytterhoeven Cc: linux-kernel@vger.kernel.org, brgl@kernel.org, Bartosz Golaszewski Subject: [PATCH] reset: don't overwrite fwnode_reset_n_cells Date: Tue, 10 Mar 2026 16:15:15 +0100 Message-ID: <20260310151515.34681-1-bartosz.golaszewski@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=c9WmgB9l c=1 sm=1 tr=0 ts=69b03589 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=VwQbUJbxAAAA:8 a=qNABUOcEAAAA:8 a=EUspDBNiAAAA:8 a=ZM33q6EZpcnYd_uvcFQA:9 a=kacYvNCVWA4VmyqE58fU:22 a=Ytm653ucTKQjCvbzLygB:22 X-Proofpoint-ORIG-GUID: RFWnnU_8ZAumM5cST3t-YwzlVHkR6zfZ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEwMDEzMiBTYWx0ZWRfX+s5mWR/OrlVI oj8dlZ6DcJcbR4VzinkFHtyQgyQgE84X1CkL/FI1z0OMMplDLjTDM/JMnTt8+gsBTLhPd572GHp UQFtkTZED6nPs6ifHiNo5ji47WD63fOxb4eKiSPx3JXDjWiKywczrl2STNlDjaTTveC4pOiFDFq VbSx8hyquX+dI1iZwSpZeGBrEVRpo891A/7IJBxqq+VnZoJusc9PEUsZO7juPDi8DKsLFEUJfpl 7xAUSZsG+NjKRXyqJy+nSDlvTxA2ncwc+8K8pOt4NrsHaKHj+Nm3mouOmJVLC6uhXPWBUgNAJBL 1SM2SoVUDKl9idK4V+kMZRqMb0ddeKU/HZlIUBsGmBOxecsdjTRl0PPYiu3yRMX4WGn778EKh87 rAgoAJkKGNW8tCtb6wG5KYZEqWdrS04O4y1QhO7ib1+l3oBWqq/TmIn9Lv5kAl+5HhCaEuHRAb1 KjYmVoMf5ecrGma6DIA== X-Proofpoint-GUID: RFWnnU_8ZAumM5cST3t-YwzlVHkR6zfZ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-10_03,2026-03-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 malwarescore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 clxscore=1015 impostorscore=0 phishscore=0 bulkscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603100132 Content-Type: text/plain; charset="utf-8" Fix a logic bug in reser_register() where we set fwnode_reset_n_cells to 1 if fwnode is set and fwnode_xlate is not but we do it after assigning of_fwnode_handle(of_node) to fwnode. Modify the logic to: assign fwnode from of_node if applicable, if fwnode is still not set, try to get it from the device and only then check of_xlate and fwnode_xlate and either assign fwnode_reset_n_cells from OF or default to fwnode_reset_simple_xlate and fwnode_reset_n_cells =3D 1. Fixes: ba8dbbb14b7e ("reset: convert the core API to using firmware nodes") Reported-by: Mark Brown Closes: https://lore.kernel.org/all/0b72286b-33dd-4bc9-8c0e-161c2f4baed8@si= rena.org.uk/ Signed-off-by: Bartosz Golaszewski Reviewed-by: Philipp Zabel Tested-by: Mark Brown Tested-by: Tommaso Merciai --- drivers/reset/core.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/reset/core.c b/drivers/reset/core.c index e625cf59cfb0..4d27bbea1a69 100644 --- a/drivers/reset/core.c +++ b/drivers/reset/core.c @@ -132,20 +132,21 @@ int reset_controller_register(struct reset_controller= _dev *rcdev) if ((rcdev->of_node && rcdev->fwnode) || (rcdev->of_xlate && rcdev->fwnod= e_xlate)) return -EINVAL; =20 - if (!rcdev->of_node && !rcdev->fwnode) { + if (rcdev->of_node && !rcdev->fwnode) + rcdev->fwnode =3D of_fwnode_handle(rcdev->of_node); + + if (!rcdev->fwnode) { rcdev->fwnode =3D dev_fwnode(rcdev->dev); if (!rcdev->fwnode) return -EINVAL; } =20 - if (rcdev->of_node) { - rcdev->fwnode =3D of_fwnode_handle(rcdev->of_node); + if (rcdev->of_xlate) rcdev->fwnode_reset_n_cells =3D rcdev->of_reset_n_cells; - } =20 - if (rcdev->fwnode && !rcdev->fwnode_xlate) { - rcdev->fwnode_reset_n_cells =3D 1; + if (!rcdev->fwnode_xlate && !rcdev->of_xlate) { rcdev->fwnode_xlate =3D fwnode_reset_simple_xlate; + rcdev->fwnode_reset_n_cells =3D 1; } =20 INIT_LIST_HEAD(&rcdev->reset_control_head); --=20 2.47.3