From nobody Tue Sep 29 11:55:37 2026 Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.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 2D7623A8743 for ; Sat, 8 Aug 2026 11:26:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786188365; cv=none; b=MjbjEXRd1sp1H003erb7upjvedawm/w/oxuKxzw6eTG20NixZTTErNuW9Nr/R1xgC/AnzPzr9+o+3bJunJ/qbBRic4kaBtPtY4BLQJw9KDmh/gjr+W/Jwkq3ZZJOuX6hV876cfnBzVGWzUKoO7EfcQQggJyGHXu4D9gv1AK/gc4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786188365; c=relaxed/simple; bh=79eIeLy6BGI+fBiKuSwA2DDf6rq8Fp/Sbknof2xZaCs=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=NzivTbo6I6j8BbYz27IiSGAwwEBhzHESmy8NqCfceDbQgR9r8IdAhuzpwXyQ5G1yObe06LexCh9WT3hAWWRdB6DCJK7ijZ3t6K/uGZpmY0Ww2/IxuLXugfgopjYHcHNLJzIDYzq8CiDj/QVrj5GGi5kDy6F1G5jt2as3ldR/yR0= 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=NhRmPf1o; arc=none smtp.client-ip=209.85.216.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="NhRmPf1o" Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-38dc4553f62so455875a91.0 for ; Sat, 08 Aug 2026 04:26:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786188363; x=1786793163; 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=BtuOINh8YkDKYuvWIfvZnBXqzDMcNfimlyPxz7Xqg8g=; b=NhRmPf1ooNhtD8AfKCgf5GHogVhYqIiEEBRqK3l9qxvopheTpDhbE34jNuuPgz2TIN lRRvX4OOhP8wRUbN71lRCP4fQiYod42+QAXaDOt3EDCJzbBFPpMUdjjKvaz0zD4F5yP+ Qjlsz+oJxufHt0W8EsWs3J0DtyL6G3M9gpwXgBPBl9F8Y2rru68Yrqq0/vFuUU462nmG 7TlkDBsRYn69p77o9hDhpDHlCkeFN6mwOruoik2OkgC/EKB+fP/krI+vzNpJJbeyWPlM hyftV8N32KNCGYq46E98FlBhPSEu81UUgTsstj4aBDzdeB1w4VS+Ie3xAhw9T3Dmi7Aj xC1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786188363; x=1786793163; 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=BtuOINh8YkDKYuvWIfvZnBXqzDMcNfimlyPxz7Xqg8g=; b=nr419KotnHiTraW/Q+1yXLlamV+4f4fQu1ezz8uM0Y8AscnvfzUh1y2Nx6H10+dWAE Hw9yDe2DQ6R7K3yTds485P+qk8ELwqcdjFEGMN2SDSgmV+2UMAYl01ZImZnPqX/8kZxd y0cCK9ekR14Vz47JwFNlaVWe0bp9nGVDt/mNQz6Q0ujWp/BuxYij4BedW69b35XNxlfe s9PTg88t+J5ruryG79FTJ6iIlbMtVV3GuUROc7obmxIddI+EkYK4NCFzM695wegUmaua euHh5jIh4ncJWaW9xgk5kgvIjLB+WnETqv+aAggyqGTbtNwVvvZfCtt2N0Y/+ETgEHxK IDWg== X-Forwarded-Encrypted: i=1; AHgh+RpMfAILXQOVkOM7613Al51iBKjJh+dmiR41i2VX4feLG6UU1RRZmEyUa3lgIOixtv3M2gXTlgBmKSNSUY8=@vger.kernel.org X-Gm-Message-State: AOJu0YzgR+mKlq9vq2sS/E7EVvhBizUfDv5nSyA5UePOMJ1mLlZGVrLS i71UTJyWhdZRW6bWyyAfk6cxU16aT2fmVwed3CUwYCs7cuHnCh49VG3e X-Gm-Gg: AR+sD10DifiEkP49J1m7nINfS5b/PvYtlhVtO9qbQ6GEK3IotIMDtqCTL6lkSMGMLmL p0Qf7UHuDzUMAR81J0wK9qFb0qTacDty+3FrTUZ19AQNWD3/qprUJb39XBgZaktUHS4da8XfvXH 3U6GxZm/UH7VSPAnd9tzrY/gRZI1Mbr5NqIeg1aQrbcnaFMzZTN0ROEBdp/eJYJLm5m2/7KWb5I BEI/vs+f2+1ezP8KSlOCVLE+CgmIJ+QlwRYD7bc8kdSRCZeuGo8cfIS2MfvFwIOcU2b0pxgaUMZ O3EZIlJVS2Sb7kbbhoLltdgvn5cYqq6Oh2O6sHpjc+bHL2vyYbDie25UQaTtfeGo7i3DlhOisfc IPKyRXuwZ9Tf/pCx9o+Yl2kcv/jTU6YynntCmMFrwvHc0bTcBbEMMIMNusBHno9sofo9CMtcsoD BXXoUlQ5AgQEj3JYYsczyO9jOPFXtzqHjeY8MMqovzcHmZzo5q3/Y= X-Received: by 2002:a17:90b:1e53:b0:381:a766:efcb with SMTP id 98e67ed59e1d1-3903c54cf2bmr27833795a91.4.1786188363482; Sat, 08 Aug 2026 04:26:03 -0700 (PDT) Received: from lgs.. ([101.36.107.181]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39085dbf82csm8235726a91.1.2026.08.08.04.26.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 08 Aug 2026 04:26:03 -0700 (PDT) From: Guangshuo Li To: Sinan Kaya , Vinod Koul , Frank Li , Andy Shevchenko , linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Guangshuo Li , stable@vger.kernel.org Subject: [PATCH] dmaengine: qcom: hidma: fix autosuspend cleanup during teardown Date: Sat, 8 Aug 2026 19:25:51 +0800 Message-ID: <20260808112551.2786782-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" hidma_probe() calls pm_runtime_use_autosuspend(), but neither the probe failure path nor hidma_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: 67a2003e0607 ("dmaengine: add Qualcomm Technologies HIDMA channel dr= iver") Cc: stable@vger.kernel.org Signed-off-by: Guangshuo Li --- drivers/dma/qcom/hidma.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/dma/qcom/hidma.c b/drivers/dma/qcom/hidma.c index c939635be21d..78fd765c81e4 100644 --- a/drivers/dma/qcom/hidma.c +++ b/drivers/dma/qcom/hidma.c @@ -893,6 +893,7 @@ static int hidma_probe(struct platform_device *pdev) hidma_free(dmadev); bailout: pm_runtime_put_sync(&pdev->dev); + pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_disable(&pdev->dev); return rc; } @@ -930,6 +931,7 @@ static void hidma_remove(struct platform_device *pdev) =20 dev_info(&pdev->dev, "HI-DMA engine removed\n"); pm_runtime_put_sync_suspend(&pdev->dev); + pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_disable(&pdev->dev); } =20 --=20 2.43.0