From nobody Sun Feb 8 18:44:00 2026 Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D831B385509 for ; Thu, 22 Jan 2026 17:20:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769102442; cv=none; b=ctVpwP9CE9LcNxIsf3h50Fm84CzqzA5/uL7dnWGe/W20m3LUSWQb3B1/te3O69XUhsMRpDk/ByrNlq4J+MhonrGGKaomyx0GMgA3mbifJOirQl01O3mXrMLZE0PCokpctAcrUw4Cky+qXIXc92Fb3/ZBx+3CKq9vFk9iLh9EJUI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769102442; c=relaxed/simple; bh=n9RZtPFllLNwOyCjbUMdTCvnrM02g20QTY6jzHJIkQk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=hmSW6sqdLuxzKKY9rksY7dYAWcaohA7I7uy7IF87lEobkdYVqGNzYxfPyK7eZNo8P2c49gxzr7shnFUSe9nhl/S4HwtuB1+gPGxSVIcvdPa75TirDbRZra/26TP2UNf336zbmX3iOLV1AC5+h2+r9UGk2xn7dJ/6MY+0js8pR5E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BvmUpGT8; arc=none smtp.client-ip=209.85.221.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BvmUpGT8" Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-42fb4eeb482so912749f8f.0 for ; Thu, 22 Jan 2026 09:20:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769102428; x=1769707228; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=Vp66PoEMaro4oICpmfiKYxfo9XQqIbFmXqoLz93VEMo=; b=BvmUpGT82iiIhC3Xk+d071xVm7e+IRxoewBvylH+AeIcLMLqpCYXu9E9WU6iWUvdcW QoP9DWr6MAZQNO8wr/BBC2AV2LnYm/EHIuBtRmLYqvt9rWMuDD8koYNMNE75+v2pTtuy 3LgvRDirQKYmuvFmITKEioZlvQ7uZ6t5QhKclecL/U1zKP9W1Sjb2Dhh61CvvzmzMXMq 0+EXWZ1uMJeqCLAcOEnlDAUjYXXeClfNYXj3T9i5lQb3lT6TVh8ypWUK2+Ww2LjEMdBB OmmUolQrBCFTscJINHcKwoBU3zjXcDbgSF/Flm8NgUA4PWBIS56W3CUOBWRGUQVCmKry q2Vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769102428; x=1769707228; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Vp66PoEMaro4oICpmfiKYxfo9XQqIbFmXqoLz93VEMo=; b=JthOd+Mwu8b73AJnhaCblc9sa/PLk9ZC43QNznnuWaWPYtDLoXcmVermOiXlSCVNE/ EfdbbCEcaeuVSzqt6XPXVUl3zX8q4Z3Cv2xghm1BW4hB3rML6UPiHK9tog+Rfk1cDaCu Kx2Qs+Am5EaUUL5y7CaHVoCezW+PEh0bmfmk8oAk9OkN5HF4zY1X3O1KovuSCu1/LWW8 0I9fgrZESKE+fBZsZcOiN/pGIGqDK39KnDHrjSan6CqbruWtymHX6tjgus7TuNEUPvma XiqQuGls4fpsUUQ9R4VP/Dm8Ci3OjjypYKA29pDJ2pj3vXXU7IUE3Oz4fvxllluj38O4 t5PQ== X-Forwarded-Encrypted: i=1; AJvYcCU0EGCbsUorMTp36ifYVXguJr9VWSNqXtM9OuTyWhsprf2GGf1NJVhe0r9QIGck3emEKmKEpGMROwnMu5I=@vger.kernel.org X-Gm-Message-State: AOJu0Ywq83g4homXI3bzTsuhMtoBmM04QSemXafBbP4GAyOVk+gqoo09 yz8yEAc0+jso8xZbt/lUPeOxZc4EyJ55bYxPmeqNhbHPnPUaHIX2i6ns27nQsg== X-Gm-Gg: AZuq6aLaNSfi5uoT3yFTY1jsXepvKK7bXhBvRoYL0Tb94OJ/bkNYuqi53nmycyzbqY2 6l5s0mWfEOrEhWbt3bie1MyXXkyqdeNr3YhJ63UjFi0EeMarnPDiKJk1ukODU0GOctyxYLyB0MX d+vsqVw5+RKKgrAlWyaPmDv/0y9+WOLTluWv2K1UXoZhdVvkXxLVj9CjHjVd8whbga83apxUNYB tw9gqhm1+8giIJxnztaNlqg/XI8L1ROPOkVyCJfBuUErojBWCNSJpOn0SXNjul1lbYJ6UVQ/qz9 VBtCbZwpK8NRwcjDRs28JZ593ihBNsOr7uP2meGGLLPSqX7+1tppJaNNkdOI67K6f6jtiF1mJuj LDzpmc3VblQpaOtqfa7l32yCZt2WMqRyR5gxkbKMKzgS4cu4aeNdW8LZV04h9YDqXd7+hmpwTLe nPzkRH6Fkj4KmzqraUyBmpH3Qr/0le5d/eXtsQLf4H X-Received: by 2002:a05:6000:2dc3:b0:435:ae97:b37 with SMTP id ffacd0b85a97d-435b161343bmr424678f8f.52.1769102427581; Thu, 22 Jan 2026 09:20:27 -0800 (PST) Received: from [192.168.0.253] (5D59A51C.catv.pool.telekom.hu. [93.89.165.28]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-435b1f7ba0bsm51378f8f.40.2026.01.22.09.20.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jan 2026 09:20:27 -0800 (PST) From: Gabor Juhos Date: Thu, 22 Jan 2026 18:20:12 +0100 Subject: [PATCH] pmdomain: qcom: rpmpd: fix off-by-one error in clamping to the highest state 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: <20260122-qcom-rpmpd-clamp-fix-v1-1-7b6a67975a69@gmail.com> X-B4-Tracking: v=1; b=H4sIAEtccmkC/x2MQQqAIBAAvxJ7bsEkjPpKdJB1q4U0U4hA+nvSc QZmCmROwhmmpkDiW7KcoULXNkC7DRujuMqglTaq0xovOj2m6KNDOqyPuMqDyqiVnB3JDT3UNCa u+t/Oy/t+432zk2YAAAA= X-Change-ID: 20260122-qcom-rpmpd-clamp-fix-060fcda9cd74 To: Ulf Hansson , Konrad Dybcio , Bjorn Andersson Cc: linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Gabor Juhos X-Mailer: b4 0.14.2 As it is indicated by the comment, the rpmpd_aggregate_corner() function tries to clamp the state to the highest corner/level supported by the given power domain, however the calculation of the highest state contains an off-by-one error. The 'max_state' member of the 'rpmpd' structure indicates the highest corner/level, and as such it does not needs to be decremented. Change the code to use the 'max_state' value directly to avoid the error. Fixes: 98c8b3efacae ("soc: qcom: rpmpd: Add sync_state") Signed-off-by: Gabor Juhos Reviewed-by: Konrad Dybcio --- drivers/pmdomain/qcom/rpmpd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pmdomain/qcom/rpmpd.c b/drivers/pmdomain/qcom/rpmpd.c index f8580ec0f73785544aeb6f686438f39b477d134d..98ab4f9ea9bff431614739f37cd= 32b7b3bb407e4 100644 --- a/drivers/pmdomain/qcom/rpmpd.c +++ b/drivers/pmdomain/qcom/rpmpd.c @@ -1001,7 +1001,7 @@ static int rpmpd_aggregate_corner(struct rpmpd *pd) =20 /* Clamp to the highest corner/level if sync_state isn't done yet */ if (!pd->state_synced) - this_active_corner =3D this_sleep_corner =3D pd->max_state - 1; + this_active_corner =3D this_sleep_corner =3D pd->max_state; else to_active_sleep(pd, pd->corner, &this_active_corner, &this_sleep_corner); =20 --- base-commit: 95fad101a21d31b4facd1b9e0713bba1c517db6e change-id: 20260122-qcom-rpmpd-clamp-fix-060fcda9cd74 Best regards, --=20 Gabor Juhos