From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-10630.protonmail.ch (mail-10630.protonmail.ch [79.135.106.30]) (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 0D2642DA765 for ; Sun, 31 May 2026 05:30:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=79.135.106.30 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780205416; cv=none; b=cvR/dFWmRrjGJwxvtb83cATdaMxr/LSqOWcHJOouE7VConPbiuDHp8b9Jpzknp45SP5KkCGI1ZviuddZIxBS0yqdvc/MI2kpxUspa/rxAAp8oB5GnZKXXeLAAvXgcs9e/eTjUboE3WWUph0ORO0pDMJbN67xAdKQ/s5ACkV/uuw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780205416; c=relaxed/simple; bh=FREyGfEkZwp/eiF+nf2+e3tagGyUid2YcD0QWCvs2J8=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=CoTQ5lvz+T4jOyg9TcV4QyDWbfAwqF78vzwdJ6XVmbdlOi+q9+U7LS4fikw9EBYB/xr4Q/DsDUBcspn+8GtRNYY454WLfeir3/I6c9oWbpwYCHVr7uCM2xpga1baw/qsrjNgDTzSHmqhVvJKSDB4bl8U7uMFzGrBAL3qu6ZosGo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=pm.me; spf=pass smtp.mailfrom=pm.me; dkim=pass (2048-bit key) header.d=pm.me header.i=@pm.me header.b=FbxOMPIP; arc=none smtp.client-ip=79.135.106.30 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=pm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=pm.me header.i=@pm.me header.b="FbxOMPIP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pm.me; s=protonmail3; t=1780205406; x=1780464606; bh=FREyGfEkZwp/eiF+nf2+e3tagGyUid2YcD0QWCvs2J8=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=FbxOMPIPIoCq2Sga77+4gLpGGBTnW90cdCIb7S547XGFpMBPYvLT7s6hDjkAB42pY pgEDzskiepip3sxl4MuHnKF+WV1VJ96aL9743dWbm0zsV0lFvdlL9HFDle4SUZfRUF qcO2iSAQJqsoYErzS80v3vXKrwpel+5Hf6WKNnCdOpo5PSquiqdO0vXGdVjBBV0rWA TyacxLQ2Q9WvOc8enmhhOsYpvUvw+akpSYH6YqJvRCIxNDz5pTDxfrlkYPbzqjktMk 9LbujSO/0cV4d4gzU0ZePbqdcIenQSkP1sFJRRVtlGcmoNjBZeczWhPjN+hpCFSbak oscUJ9qBmlhow== Date: Sun, 31 May 2026 05:30:02 +0000 To: dri-devel@lists.freedesktop.org From: =?utf-8?Q?Gustavo_Kenji_Mendon=C3=A7a_Kaneko?= Cc: liviu.dudau@arm.com, airlied@gmail.com, simona@ffwll.ch, linux-kernel@vger.kernel.org, =?utf-8?Q?Gustavo_Kenji_Mendon=C3=A7a_Kaneko?= Subject: [PATCH 2/2] drm/arm/komeda: fix ignored clk_prepare_enable() return value in resume Message-ID: <20260531052945.65117-2-kaneko.dev@pm.me> In-Reply-To: <20260531052945.65117-1-kaneko.dev@pm.me> References: <20260531052945.65117-1-kaneko.dev@pm.me> Feedback-ID: 165279626:user:proton X-Pm-Message-ID: d8c93e45b1a28835a390ed888eb45bfb4ae7b22e 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 komeda_dev_resume() calls clk_prepare_enable() without checking the return value. If the clock fails to enable, the function returns 0 (success) while IRQs are enabled and IOMMU is connected on potentially unclocked hardware, causing undefined behavior on resume. Propagate the error from clk_prepare_enable() and return early on failure to prevent hardware access without a valid clock. This issue was found by code review without access to Komeda hardware. Signed-off-by: Gustavo Kenji Mendon=C3=A7a Kaneko --- drivers/gpu/drm/arm/display/komeda/komeda_dev.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/arm/display/komeda/komeda_dev.c b/drivers/gpu/= drm/arm/display/komeda/komeda_dev.c index 5ba62e637a61..9aad1d1d28ec 100644 --- a/drivers/gpu/drm/arm/display/komeda/komeda_dev.c +++ b/drivers/gpu/drm/arm/display/komeda/komeda_dev.c @@ -313,7 +313,11 @@ void komeda_dev_destroy(struct komeda_dev *mdev) =20 int komeda_dev_resume(struct komeda_dev *mdev) { -=09clk_prepare_enable(mdev->aclk); +=09int err; + +=09err =3D clk_prepare_enable(mdev->aclk); +=09if (err) +=09=09return err; =20 =09mdev->funcs->enable_irq(mdev); =20 --=20 2.54.0