From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 33F962192FA for ; Fri, 31 Jul 2026 00:32:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785457926; cv=none; b=c5n2BqtiMVfi07F4//aJE5fzaqwPNDyinNOe69KbnlJ/NQtxIHwwaBAyVwTNrSp2pWPWvyM+yR9gXu0w+vxNiiJS/AgIliBLROKT2fJTKkvO+7L7eV4RyYvqftbrOpOirJ8rvgWo9KnS/HMyaOFzOE5M0rgE5Jtbj4BFrXxFMZE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785457926; c=relaxed/simple; bh=zgD959mMF/8ySbeK+HmCfcXDYm53NBUcMxUwd7KZ7mw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hyYyQdWbMiJu/5nKZFMTju8fl+1AwPi/NTvnJid48YUL+lVVOSjoeEHQMmw3mrWR0kTv5aACUWt1tR+o+/HY5zzEWz2S4EdkgQcbrrZyh+yVkku5MszObro28GJRzTufEadPjWsgiWN2qQRzoiWx2EkHq4MrJZJNpyG7Yugr2ns= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=IEJsOyxU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KpY6g7df; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="IEJsOyxU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KpY6g7df" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66UMr9FB2008212 for ; Fri, 31 Jul 2026 00:32:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= hgdfzEGCpIZsxITOSxtWVRvSfeRmupU6X1LTU4J1VNs=; b=IEJsOyxUbmNiStSv W9s9IysgKx9DAFOW6QJNgVpJNb5hoqfWGN2DCdNTd8daHE0nETo/i1p0+wku0vld VjpqHcKo1rK80GouOLXSrg3HmCKFdJbUlsFJd89a+G4FklE//Y+XIbKV3O0OGGFK 2mKkdZ+ZUK4AhOsYYjlRCNRDH4OMrVYFN26PjAI8erli6nxgNokV+9iYOpKfUo2q Es3UMNiWLYroXBALy90EZYPIbNFeHVZXZrCxDCMANlGjCDHicS/3UcYKUt1BBGtG nYvDhB/YbnQX3HKudF7ChqjjmCxaXeiynW5HfdhRDSIO2KjvfUDGfoGRYFMu/RlL h6Kl6Q== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4frfmh091c-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 31 Jul 2026 00:32:03 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c21c01cf3so6744971cf.2 for ; Thu, 30 Jul 2026 17:32:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785457922; x=1786062722; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=hgdfzEGCpIZsxITOSxtWVRvSfeRmupU6X1LTU4J1VNs=; b=KpY6g7df7vKe8D7mqyad7wmQm0liiF7sIzaz5DGfkBA5v1GqDKn324S3oK3BW5r3nI 6TrAbphdrasV/gYJjvUxRBLUMuQcA9ObVJ3IEpoZfXcaD/tsNID7eocCnpBrgY0YmQM0 Yqv5RjUxU7VA/i1MtDFc+daxWQURuCFPDQVdIqFv/KKQYqOxz1NIHO6QDwb5tIuTlRkZ XKAjTGuP8NEBFEJwFgxwdHl/VwMiHwQDb5bvj1TUhrqc4S5UhJ5OVKIPPIeAQ2AdU/cU MoXXnZvcX6ZOuvrumwtmPdhJfzMwKe9HJi6cG7enzlWFH3CENtyKlSK4QNTYBaWfzCPh Kl2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785457922; x=1786062722; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=hgdfzEGCpIZsxITOSxtWVRvSfeRmupU6X1LTU4J1VNs=; b=IWYUBpumfiQtHHpb/to3bPuxk0h7Y/1ZLzE0ZrZY1EcgzMg1cTBj0HslLQdcONiWMQ W8FmhreTS5KfHpItUXCQREFts5Yh+INP7bgIihLndMh+u0Vr5P0ARD7JXmRjmpDrC2U7 XbRTaHg7jW9fpDop1OJvAKnH8yGEEmjl3dptitGM0pbesZF3RjP1LzmlW6X5wy7ZSkz1 Sh7YXedn0dpSy8ourJCWJZiZrWP0LfCTuaeIQXi5ov8Cp0tvzPiVh/321OUPsaL6Fp/4 AV4Ag/GOAtCMHowGFdrMIAIRby8vRsFz86yqumqhizixg3RmN52BtFMiaJqUahAUt7ar UJwA== X-Forwarded-Encrypted: i=1; AHgh+RohNJVzQlk7+E6IFF6wd7O//G0uYPXAGoQg6oVN01LUY6NbUEa79HBqRFU8UMkb0cJtCCUkVTOwDzN3LHk=@vger.kernel.org X-Gm-Message-State: AOJu0Yx1n9QHNj7h+deUBe/5+l/hj1oHlmEo3jV42y7B6r0OSn4mwJ63 y3xfPyZg0LbyxfWsrz3MAr87808Lrk+3F90ddniTOFmA/Whb3ii5NmlUzK9bJ0+yb960uFa9Tei /it2HQSvgxs/xMiPASu0x0ythzgavuWJc2Feh1hEvfBm93tbxAy7QETBDv8rKey4aZMk= X-Gm-Gg: AR+sD13T9fTUjea4fBslByfaqk8x8iJVD4n3FNTBQIMvuaEOPLZdOGXOE/w9CbE7J1C YZgIumZBTvyL0FP4WN4rfKrpVCeM1HBrDMqOruEhpuV2pzYPivYk0+NP39NC89entFNrmuTftSn x38uMb1t8N32mC1MdroyAhHEsKBWgcp7LlaVCEH3rPJB5t5DZWlfpWVL8hdcMXtMf+sjcEi9gMY lCeIiccO+ZwEnDI43dcLt4qXp8Nb/xRO1yegL5vh64Ai+QziAHJW5tIdHBxiCNJu6FFxQJDbFT6 DhaQ0fe9NgIVH/FiuJEN8xUDYWFWO/qxKc8f9SUhwzzI2dD+4GBGXH1Q/TGoZmJZL9pzOvWKh+S FHw1lqXPyMIltSKsKaqCQtYV1L6AftLbtXSawXlgdhyrcVuPUoXvuyYGwbXfxTwnm/GMzbRNbDW Z8AogI0aql2FSCdg== X-Received: by 2002:a05:622a:1249:b0:516:ed02:c85d with SMTP id d75a77b69052e-52b4af3e4d3mr1379691cf.3.1785457922347; Thu, 30 Jul 2026 17:32:02 -0700 (PDT) X-Received: by 2002:a05:622a:1249:b0:516:ed02:c85d with SMTP id d75a77b69052e-52b4af3e4d3mr1379401cf.3.1785457921908; Thu, 30 Jul 2026 17:32:01 -0700 (PDT) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5b2db9d2688sm620538e87.57.2026.07.30.17.31.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Jul 2026 17:31:59 -0700 (PDT) From: Dmitry Baryshkov Date: Fri, 31 Jul 2026 03:31:40 +0300 Subject: [PATCH v2 1/5] media: iris: fail firmware boot on invalid uc_region 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: <20260731-iris-fixes-v2-1-94c002016a09@oss.qualcomm.com> References: <20260731-iris-fixes-v2-0-94c002016a09@oss.qualcomm.com> In-Reply-To: <20260731-iris-fixes-v2-0-94c002016a09@oss.qualcomm.com> To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab , Hans Verkuil , Stefan Schmidt , Vedang Nagar Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1528; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=zgD959mMF/8ySbeK+HmCfcXDYm53NBUcMxUwd7KZ7mw=; b=owGbwMvMwMXYbdNlx6SpcZXxtFoSQ1b2m995a5lVprBelxTwCNrQvsHY9b672R5p6+dnXPuT9 od5/trUyWjMwsDIxSArpsjiU9AyNWZTctiHHVPrYQaxMoFMYeDiFICJlJxn/8PP1PHHpVNum2Fx efevv+VXVm54byD9ysE8XsLu7TLh1wEZW+KniaYwlfE/N7cT3LhmV7HT+w8NF5mX5thu9E/Kfvy /+tHB7/bs668oRrrYPoi44iG6K01zdR0n2/rft6VjuI9/ViiuTZKcmLBx7aV993gK+cMfvguczV g1yfGB8Mk7uhfzzzq0Gf/hOTHJJKBeII4zpEqFgVN8Ftt1ucK5ya8WaGb8n650fmnXnd1T30oKp S+/5GvNdF994uSrXKF5TytjYycnaWprSfgpsnzWS+oqfhKwL0392/YNXJtLHKWLt+r4TN/pHLRt 0u9uCQ+Rt++rPH1Wpqid1+79zfjibui+fue9HnaecXsSAA== X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-Spam-Info: AW1haW4tMjYwNzMxMDAwMiBTYWx0ZWRfX+ZjWmKlhqfy2 G1Fac1htNEng0+kh+HO2S+CJumXL35tQzAhvriJoflQ+C32WUBhc+eKX1sUNkdPNz3BJ/oCFEmP WrFPyXS6RtgXBRqPMjYa0hF1E6uVb70= X-Authority-Analysis: v=2.4 cv=evjvCIpX c=1 sm=1 tr=0 ts=6a6bed03 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=bM5zmIW2MuzvGEp2F_gA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: k_NUxSi7nRotcUxz5itD6elC-Gq4h6XR X-Proofpoint-ORIG-GUID: k_NUxSi7nRotcUxz5itD6elC-Gq4h6XR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzMxMDAwMiBTYWx0ZWRfXzqAaMQcM256z P9KTAPVazn8IXqQg1i7EQDSaaNYgvJdsjlpYnSb8lTNQsdqd04b+SjjwmROW6xas9czwCzofhq7 980DeNglZ8LaWEN6WRg2H5wBaVQMTgWF0JPfxcpRQz1KQiVEAVgxvAHfmTU4N76XKTpRoqT8SGv lTNy8bLqowv67TJKcOIIcqW9sDvQVypMRjMf+An5MU1NLLhqq4vAb6YQi9dVVC5sGMroV9EClyz meZ+2ljCQ2r9dILvjbjf4dX3HoNYEZdWA64hfuQWjE2lnM0UO/baDNqiTa8b7xH7eUvMxvB12Q6 oYaG3/8IXRBv4cacoGNYQ8ub3Rfkvl2qn0VplME7jxyz1p5rRlIdW1ItAAdMbGDaaH2URoDqmPn 0YmjpNGlHgKW4t4WNNo9WFIu/17MUiRdhWp7IPrQjdJrkNhpMMUWg+313no3kZaMDFd6M51BtS8 4xSSa+Phw5rYq+jfkLw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-30_07,2026-07-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 clxscore=1015 adultscore=0 suspectscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607310002 iris_vpu_boot_firmware() polls CTRL_STATUS while the firmware boots. When the hardware reports an invalid uc_region setting, the poll loop breaks early with count still below max_tries. The following timeout check (count >= max_tries) is therefore false, so the function skips the error return and falls through to return 0, reporting a successful boot. The caller then enables host interrupts and proceeds to use firmware that never came up, which can lead to unhandled timeouts or hardware hangs. Return an error directly from the uc_region error path instead of breaking out of the loop and reporting success. Fixes: abf5bac63f68 ("media: iris: implement the boot sequence of the firmware") Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Dmitry Baryshkov --- drivers/media/platform/qcom/iris/iris_vpu_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/platform/qcom/iris/iris_vpu_common.c b/drivers/media/platform/qcom/iris/iris_vpu_common.c index e4847c107709..819db7569524 100644 --- a/drivers/media/platform/qcom/iris/iris_vpu_common.c +++ b/drivers/media/platform/qcom/iris/iris_vpu_common.c @@ -84,7 +84,7 @@ int iris_vpu_boot_firmware(struct iris_core *core) ctrl_status = readl(core->reg_base + CTRL_STATUS); if ((ctrl_status & CTRL_ERROR_STATUS__M) == 0x4) { dev_err(core->dev, "invalid setting for uc_region\n"); - break; + return -EINVAL; } usleep_range(50, 100); -- 2.47.3