From nobody Tue Sep 29 11:19:28 2026 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (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 BD0D63370EC for ; Sat, 8 Aug 2026 09:38:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786181933; cv=none; b=GoHs7W5kzNavF9fVCix7NS6JJUckBQ6BwsZeqI1bV3SMOQ+U9YCH63aw2InIwG2+XUD/tFypfw6K9ZaGDrKGykQSCkScRXj6k5kYA3g14D7VE3C3ePLLAqzhEQUi36ug6d1Jlu87AmTZmLJZUI3q4hKwi2lK56GSIzJNB6SlMhk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786181933; c=relaxed/simple; bh=hD/EvuRY764RrsJx1wuEKYerRIdAetHJ9oH/4f0ywDs=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=KMXpxmUD/h9bi9EbpdotLc/8sI4iNAQ2uGywHju3CdhJzLec8tEmyZRP2WfjNfa1199GkR71UOasUVSfpka2KxJ1dxbiqGlG3P5GLwjsFNNA6VKoGvH/UqPdmwrROgGXa3xo1OagiRuCXmhgYRcQNChI72SpisYrjqT827WmuoU= 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=QGbb+jKv; arc=none smtp.client-ip=209.85.216.48 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="QGbb+jKv" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-38e3efab7e0so266648a91.0 for ; Sat, 08 Aug 2026 02:38:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786181931; x=1786786731; 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:content-type; bh=RX1DphTMSs3B4MvCbqjOAvkckybgUBneK6EG7I97Aec=; b=QGbb+jKvMrc5EKkDBAwrR42oszFlRKcQMVpk1QTwWO0s4mhNBsIW06gS4d61J9nPj3 1h/K0Bn1soW0xe9KImLgPsaCyY3fJhuFwDyFDAaLXp6dSC1KKXwFY93xINVrvwifxULp Z+5+9A0uGORET+U5pfujkfjXJRv8EWAeZ2V2u31WYzJt6lhfAuU1dEKzT3CVkzRJpR/h Eor6bYOxaO/NJo/SSQZOgazGBHZGqtuxym5eCh69Mld/2Z+V/ZZodn2+c2pidvdXnnYO 54JKGW70snT2n8lMr9TOO55o/sJLvgVE/qYUqfB56XkvcF1Ow3u0edoz9fSM7hIgwudd hJPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786181931; x=1786786731; 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:content-type; bh=RX1DphTMSs3B4MvCbqjOAvkckybgUBneK6EG7I97Aec=; b=mTRD2ywED/lqKEFxJY1WxlB8PZaqv8b7YERKeyCaEu7J3ZPrUZTJDjormPIu7cIdt8 OQGJs3isJXTC1Yk1OGBMU8a+DVaye7+BUIZ9wGxzzNHJWj6Wkll4r46auECP/2gJQTkt z4t4YJBZGxfRNdoCglKxDh2HRASwj5HJPrKhkAClmUdyQi1TPjzPrXdan+OFK/Ph5X3N deTvmtj+zDjQpR+hh7tiYY+9BmuC79an7u8xCEY2c0/UCBQmsktsXl+6gHmeGDft45D3 MvEsfyG/Ohh/A9QQiRmIIpJ+gn8qk/C3HKjQ1rS4w6BEkD4XjKk8h97bbzLveZ4e0ja+ Y72A== X-Forwarded-Encrypted: i=1; AHgh+Rq/zYTjfGzAzHjETcig548Fua0vuYVobJp8gRVlGBmklEKIGkzdiLz1IWGPFSQLRLzBbHLbswlIi17eHkI=@vger.kernel.org X-Gm-Message-State: AOJu0Yx8EV6xzy371+6NYQVl82CFa1yngKsiAcnJBnEAC+iDJcji+nDK Olt/sUnFdvHn8V4Da1v2KiXPQKFD8tcUt0xu1m+9veEwkB5DGm2W+IEu X-Gm-Gg: AR+sD10AakSDGK0/83Q+Mdr+CuraKH9rNq1xeCqaCmcR/gZuK7dfnpKdTRvbM+LaNoH aSqvfDjQNi8fElKLOerUkzKWQ4s55JmLpPbFKXCai7x+1hMfEfcejri7OHYZLkeGj56lQdJNpCs 1lVpo8e5M6oCxTF4r0y68nM9fvCNWQSPm67UQ/N/fg5wNgatxKQ+bIohM7lUl5NL2SEx0Tess1c wdby3MAsNDNW6cP+euWkPMhqyj4f9huoWhGUA9jq6K1JMpxWW9rCkYQ3dekf0XRjry/IN+mD0zc u3lyrUjJXaYF/AzqbfU8UAbRhAOcEFGDNBuOdE2Lgk3nhh2XVEYpAAEJZiCZ1Wpo+Cm5QAKg92q TkMQ1UgxvT62c/sImy3s9fvJidn6Yqz4H8vU0dDlqhXtjyqzciswQ2ei9DjKZ4DMMtYMGYfHM/c jZ7xDCqEwRLn+ucsK1OqBX4BEjcMTczfd1vJH4LvzEqy1XS1Caa4FFrg== X-Received: by 2002:a17:90a:ec86:b0:390:b3c5:e2c9 with SMTP id 98e67ed59e1d1-392846fd57fmr1926782a91.17.1786181931093; Sat, 08 Aug 2026 02:38:51 -0700 (PDT) Received: from lgs.. ([2001:250:5800:1000::f280]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3925fc6dab4sm5615231a91.3.2026.08.08.02.38.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Aug 2026 02:38:50 -0700 (PDT) From: Guangshuo Li To: Herbert Xu , "David S. Miller" , Maxime Coquelin , Alexandre Torgue , Thorsten Blum , Kees Cook , =?UTF-8?q?Maxime=20M=C3=A9r=C3=A9?= , Colin Ian King , Guangshuo Li , "lionel.debieve@st.com" , linux-crypto@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: stable@vger.kernel.org Subject: [PATCH] crypto: stm32/cryp: fix autosuspend cleanup during teardown Date: Sat, 8 Aug 2026 17:36:23 +0800 Message-ID: <20260808093623.2744314-1-lgs201920130244@gmail.com> X-Mailer: git-send-email 2.43.0 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 Content-Type: text/plain; charset="utf-8" stm32_cryp_probe() calls pm_runtime_use_autosuspend(), but neither the probe failure path nor stm32_cryp_remove() calls the matching pm_runtime_dont_use_autosuspend() before disabling runtime PM. If the autosuspend delay is set to a negative value while autosuspend is enabled, the runtime PM core increments usage_count to prevent runtime suspend. Without calling pm_runtime_dont_use_autosuspend() during teardown, this reference is not dropped and usage_count remains unbalanced. Add the missing pm_runtime_dont_use_autosuspend() calls to both the probe failure and remove paths before disabling runtime PM. This issue was found by manual code inspection. Fixes: 65f9aa36ee47 ("crypto: stm32/cryp - Add power management support") Cc: stable@vger.kernel.org Signed-off-by: Guangshuo Li Reviewed-by: Maxime M=C3=A9r=C3=A9 --- drivers/crypto/stm32/stm32-cryp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/crypto/stm32/stm32-cryp.c b/drivers/crypto/stm32/stm32= -cryp.c index b79877099942..74f6e329b1fa 100644 --- a/drivers/crypto/stm32/stm32-cryp.c +++ b/drivers/crypto/stm32/stm32-cryp.c @@ -2691,6 +2691,7 @@ static int stm32_cryp_probe(struct platform_device *p= dev) dma_release_channel(cryp->dma_lch_out); err_dma: err_rst: + pm_runtime_dont_use_autosuspend(dev); pm_runtime_disable(dev); pm_runtime_put_noidle(dev); =20 @@ -2722,6 +2723,7 @@ static void stm32_cryp_remove(struct platform_device = *pdev) if (cryp->dma_lch_out) dma_release_channel(cryp->dma_lch_out); =20 + pm_runtime_dont_use_autosuspend(cryp->dev); pm_runtime_disable(cryp->dev); pm_runtime_put_noidle(cryp->dev); =20 --=20 2.43.0