From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx08-00376f01.pphosted.com (mx08-00376f01.pphosted.com [91.207.212.86]) (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 4BE84433BAC for ; Thu, 24 Sep 2026 07:30:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.207.212.86 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790235026; cv=none; b=MgoSqpdcIdfKjsOlHECPITw6LxOh7VCc/223QjJGDplZJI+W8CbKq8M//CJzW5GXpm+AeOcXhtMQwS38ZyGQciuf7ijcNsfnj6Mhrv2neKJ7qhUiBiE83jHTXER3tIwQfZ7Pw45hiZLzYILwW1E2hBIe6/U6q2otReD7H8QIQAw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790235026; c=relaxed/simple; bh=Tydr9mGwHtPEldWoz4cV1uuED8vM23Fb8MaGn1f3PxM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=uO9xbBIJyKKNwsSgJlTpA9rbD8QPZuBMrlcs9dYSEKRNCQcTl7ZBT30TQETVdFpmsf40mgDK+dY6WWiQMSzl6+CuASV53NxIdias2iMp0KoYuVWvfi2Ok0I8ymKX+JFQhe7/7wnnCQa9eFk4A4ZRWfaox6zYe7bvsU067qpdsGw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=imgtec.com; spf=pass smtp.mailfrom=imgtec.com; dkim=pass (2048-bit key) header.d=imgtec.com header.i=@imgtec.com header.b=Ep8xTlEc; arc=none smtp.client-ip=91.207.212.86 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=imgtec.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=imgtec.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=imgtec.com header.i=@imgtec.com header.b="Ep8xTlEc" Received: from pps.filterd (m0168888.ppops.net [127.0.0.1]) by mx08-00376f01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68O5dsQB1074426; Thu, 24 Sep 2026 08:30:04 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imgtec.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=dk201812; bh=l d6iMESVzmCunC64MEHW51O/ZBRb5xMBpkZMKA8HQ/o=; b=Ep8xTlEcVNnNHh6XD XlkU77M84DdGmpduM0LtCW2Sa0I7wXGbBLlYofnJtpkRkFwATLDwdYSFa/9gXw6p hWnQGVzZNpugCNPmbf263t3G4tjvwNGqC8Einry4gAk4UI2HB/cYuQTsrwCSt+vI 9vX6ityEsD4c3x3TrQLSERrLXhacNyEcObBT4teeLYS19mVWyLuYlWpdQTxSpKQq fWMsGt+W4g35jCsHSNY5kW2Qs9vbmYpQ0UGmQ2x2vW4rQmsmeZ3gm6Ck2w2tBUfo KY/DGdT/WJ/ywlAwiYo9MiXLFtv6Zm1754Z0GofXWPrgKwZ6ebrSEQLGrjNR2wn7 VipbQ== Received: from hhmail01.hh.imgtec.org (83-244-153-141.cust-83.exponential-e.net [83.244.153.141]) by mx08-00376f01.pphosted.com (PPS) with ESMTPS id 4gsgnq3w1j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 24 Sep 2026 08:30:04 +0100 (BST) Received: from [127.0.1.1] (172.25.5.18) by HHMAIL01.hh.imgtec.org (10.100.10.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Thu, 24 Sep 2026 08:30:03 +0100 From: Alexandru Dadu Date: Thu, 24 Sep 2026 10:29:45 +0300 Subject: [PATCH v7 3/3] drm/imagination: Release pm references in case of error 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: 7bit Message-ID: <20260924-b4-upstream-propagate-all-errors-from-kccb-cmd-submission-code-v7-3-584796cb599d@imgtec.com> References: <20260924-b4-upstream-propagate-all-errors-from-kccb-cmd-submission-code-v7-0-584796cb599d@imgtec.com> In-Reply-To: <20260924-b4-upstream-propagate-all-errors-from-kccb-cmd-submission-code-v7-0-584796cb599d@imgtec.com> To: Alessio Belle , Luigi Santivetti , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter CC: , , , Alexandru Dadu X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1790234999; l=927; i=alexandru.dadu@imgtec.com; s=20260304; h=from:subject:message-id; bh=Tydr9mGwHtPEldWoz4cV1uuED8vM23Fb8MaGn1f3PxM=; b=sfIYYsQir2vcmf9Ic5sJyW6BGhE75JU2pPLg1IK5EspeG36d971bLYO6el7z2wNDWUX6kFVM2 2n/dvyjdjqDDvL57uGrcgySOBRo7OPLgEE8e8VTf8hU10cDJl4DIIl2 X-Developer-Key: i=alexandru.dadu@imgtec.com; a=ed25519; pk=FU07SyNrYGwhahqSxbWEuzyXlUh47xBXvLvOR7UA6+U= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTI0MDAzMSBTYWx0ZWRfX0PoLh3h05GCn EIWA0y/aDvqkHGrAbvSWkfzrxDqNxBeJLk/AFDKgFgO4MX3ERRUI1WGA+1aDtVGZ2yMANnHFeCX mCOCQCxfVLlwiZ2Z9QtuYy4x5bdkZOYwjlvxg1kextrkiwIDAg/1U3TcMfs5g2gP7fPtg3m2WkY eGjKS7lmXCHiauJkgb0rWLRmnx7Dp1coxJSawJqmhOSSqgIRWug20kEs/YHZpEi7Lq+BjhJiTjT 80NVmAjBfl8jafBsSQ3QDJF0CmbTmBQZmB2h2KnDrPfbVQ5CWWWTKtYMp21P47aKHAK6tL4DVzk JUs/2rJinDVpx+dJ3LCJMizq+3blA5HabknIWB75oOm15DWOxUJ+G81Dq/TaeyZRvxCxnQ9BvzZ bVWuCski9YXmJDM9JS6IlxDNnvT3EKXH7OxF1KB87s98NmtYLe3lerHXiJsZW0ryoSc+IQvxksP 52Ef6wrawKVC0539BPA== X-Proofpoint-ORIG-GUID: tuB7dhp3-BDbyucFZZmi6SwttUSiBTrt X-Authority-Analysis: v=2.4 cv=fYs4WEQF c=1 sm=1 tr=0 ts=6ab4d17c cx=c_pps a=AKOq//PuzOIrVTIF9yBwbA==:117 a=AKOq//PuzOIrVTIF9yBwbA==:17 a=sVS2Dey4ZWMA:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=VkNPw1HP01LnGYTKEx00:22 a=kQ-hrUj2-E3RCbRHssb7:22 a=qZQ2PDNLMSdLoqI-hfl9:22 a=r_1tXGB3AAAA:8 a=jKIV6DwP1_vLq_mzJWMA:9 a=QEXdDO2ut3YA:10 a=t8nPyN_e6usw4ciXM-Pk:22 X-Proofpoint-GUID: tuB7dhp3-BDbyucFZZmi6SwttUSiBTrt X-Proofpoint-Spam-Info: AW1haW4tMjYwOTI0MDAzMSBTYWx0ZWRfX204LDFFaZqZl GWCQFg3rpFLvDKThP5bh2FbXm6lL7qpKuK04qKMw0f0/xJ3fPIyJiQ8zuQK+igO/MkJs0oLtHQ3 ww8pXX3w8jnqSO1pIRfj2kaqxjrZrSA= Add early release of the power references in case of errors. Signed-off-by: Alexandru Dadu --- drivers/gpu/drm/imagination/pvr_queue.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/gpu/drm/imagination/pvr_queue.c b/drivers/gpu/drm/imagination/pvr_queue.c index b58c0887cafe..c72f1d0b8bc0 100644 --- a/drivers/gpu/drm/imagination/pvr_queue.c +++ b/drivers/gpu/drm/imagination/pvr_queue.c @@ -820,6 +820,19 @@ static struct dma_fence *pvr_queue_run_job(struct drm_sched_job *sched_job) if (WARN_ON(err)) goto err_release; + err = pvr_job_get_pm_ref(job); + + if (WARN_ON(err)) + goto err_release; + + if (job->paired_job) { + err = pvr_job_get_pm_ref(job->paired_job); + if (WARN_ON(err)) { + pvr_job_release_pm_ref(job); + goto err_release; + } + } + return dma_fence_get(job->done_fence); err_release: -- 2.43.0