From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 05E903F23BD for ; Tue, 9 Jun 2026 10:23:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781000586; cv=none; b=HeTTZ0SfSOlcDAQk0GSwPtDxIY2H+XVKg3bMf3Gfykr7bjIfsdiOCUuvprlW5mRyG62gUIplSqFukSVdumot6byUhr2RbIFMqkmrYc4VAfASBOIljVz0CsMclAxuXYK2oEJXNz41vz+XH/w6emyWLdnKwQ7rp1CHdSprqWtVJoU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781000586; c=relaxed/simple; bh=7x8beBIojNECtEqJiYHYHNuMd5/1w962WKF8Uqh9EuU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=r78BR6Udzx791qjPGKGjXZyiVYhewl5p3pu4wtsJj5kPjo/wESA8d7Q+tVTUyVNSCSM+7+czMXQLuylxm77DacxvX+5pcmad8nFkK8e5OumQAWHBjpLBrvOFgAJh9Gzbckxp70hA3jLHHJpp89/NX5Oq1vOJIYn/+lQ5VPl/VTA= 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=oK1vEgCw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MRZfMCua; arc=none smtp.client-ip=205.220.180.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="oK1vEgCw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MRZfMCua" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6599xDHH2208403 for ; Tue, 9 Jun 2026 10:23:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=oGapPqde/L8XcWbgwW8R8f ZSYz2OachDKg2LbyV/LTA=; b=oK1vEgCwMRWmWTdRU+YtNKprw5kl2WGsT2ZTwe 5ysNuCmaARcWHlq04CnAsMhVuqEuScYuJIgau+RL6AS6T1/SNrn/O/UyGAMfOJDR li+aozatQnJUL1PC6/geZtl5VcqjrevGJgGaHFSP/4oWmJuOS8J/RZ9LcLmx0gBi 153WJkDPROS5loJgNSnGBWA0pg14sY4Wm9XWcG3DkG/RTRFfRGewubj8wakRuAOd EGskiursJ4hUYqAFDAh7LYn5LAdx8OtLJld36oiQXlmXBBg5mRUv6nqxrdAAgoMA Za/KXn36Oai48YwPHXJ2oShYa9iZwIVkHNj/C6YI/WbFVrng== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4epee4gq73-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 09 Jun 2026 10:23:03 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2c0d0516ad7so56066015ad.0 for ; Tue, 09 Jun 2026 03:23:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781000583; x=1781605383; 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; bh=oGapPqde/L8XcWbgwW8R8fZSYz2OachDKg2LbyV/LTA=; b=MRZfMCuaSV1arBcw9hBblGd4J+vfcvOdLZ8nxYqbnosxFz5utSy7PEZsYkek2FTU76 idk+dmG+W0WHfvl3Xl6Rk2wmLELpMDJbIbBsruBXtmpZoVDYk4VhWlWw+L8cjNXdX5te 5/hIPubiyg77guhOoIfLvRPkys8u3yd9d/36I+uWDYUh/RtzYifHfd3Fz873cNoSsJXC hnHC0wV7YlFqYPdgyAkqSA6WBPFh3NaHkOVHnkoS99UZaM77oYa651l+5KeiDI5kRVxI BnnisIx5cfqkTZQQ2pIX+wyNi+hxb+w3jBO2U3uDV5L42/BH/q7taWiJN5jRFfU2Iq8m FEMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781000583; x=1781605383; 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; bh=oGapPqde/L8XcWbgwW8R8fZSYz2OachDKg2LbyV/LTA=; b=lmQkugvb8is1+zxCG5FeWXdUkirdf2t8RTCsb2/AFIwbfpGBaQn41YdGfgBSXPrLdT 5fVg6XdouzBrJZyHyj0qaBebdasOSYo/GO4jMv4qXXtgHWIRvAn/JxMv9nxxduZkJnYy bopuXcYmZXVN2IAHvdSVWSv2mIp9AlVw9jv2FfVjrAiOkIqQNnvsYfFo55UpRZnlfeHB /tyDywL5kVLxY1ps6s3FL//4iyxopcD5n7fZlrWh73Iq5Ve+YluOKG+ZUEAJMybOqQCj MIWY6WY4g31Ne00KwadpOmk9rTOh6oWBkymB1JPc6Nij9gmeXpMERJ6aIpIJ+GtTFZ1o +ljA== X-Forwarded-Encrypted: i=1; AFNElJ9/uk0QBphxb/MeWAd8aq4OputtltyU95xnvYZxCJ18rnrNayFUSIEWUDl4uNclcSf1pr7qs8Nhn8m4qnU=@vger.kernel.org X-Gm-Message-State: AOJu0YyNjkXmGWlLsIYazsbIhuJwOoqGnVbrjkja5azTFkoqVDBFWUrR 0mg/HpgnKHOpq9JsMtCo7x5gtFVZCDK3VRsC45cLflRTHp3Tg2GQdSIs1Y+8yAxnV88z6khcqzJ gzYtm7gOgaWasusc+zD58AUx0dohoUZFOg1ZyZIg2XQCSuuCH5zBKpH6/zNgk3iaOzkk= X-Gm-Gg: Acq92OFJdVdufGgVgnisIi4SFBfeHx35F0K3h80mvkTdjmr4c/xvAuLKO4XjDG8ev4G tLDiZNNTTzO8h5ryiS+E5Qiql0GbtcIyEHbnjj+VkyQG9yvFXCG6XMp36Gc5fipsGcvIbmpamel u1pI4XpOuY04p58oJpLZPKwrRnt/l56V5ks/ibhBcR1CL41e/ulJzQvpdOnMIb4SV/99jz/GDh0 t1rDf+/YC/l89hHIwqjtkwP2owloneJ8k+xig0WnoAXvszfUQbwM0OrYea+CuJzqNjYJ50H7jnc pSIaLHWadBhpitcqHh6p1pZ3ldSdfWqfkvqjszuxQWo0Bw5YuvA5ALJ1aAa0vllXdKUhD4doRiN g/IbO9UdCPQsVA6solbjgyiL6BLSPURai71U4pi6ovGT0t927yHPMBAb+zVM= X-Received: by 2002:a17:903:1245:b0:2c0:bcb3:86f with SMTP id d9443c01a7336-2c1e78e431dmr207447085ad.6.1781000582764; Tue, 09 Jun 2026 03:23:02 -0700 (PDT) X-Received: by 2002:a17:903:1245:b0:2c0:bcb3:86f with SMTP id d9443c01a7336-2c1e78e431dmr207446785ad.6.1781000582247; Tue, 09 Jun 2026 03:23:02 -0700 (PDT) Received: from hu-mojha-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c164f6e86dsm213121685ad.8.2026.06.09.03.22.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Jun 2026 03:23:01 -0700 (PDT) From: Mukesh Ojha To: Bjorn Andersson , Mathieu Poirier , Matthias Brugger , AngeloGioacchino Del Regno Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Mukesh Ojha Subject: [PATCH 0/3] remoteproc: fix silent teardown failures and prevent SMMU faults on hung DSP Date: Tue, 9 Jun 2026 15:52:50 +0530 Message-ID: <20260609102254.2671238-1-mukesh.ojha@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 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: 8bit X-Authority-Analysis: v=2.4 cv=PIs/P/qC c=1 sm=1 tr=0 ts=6a27e987 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=oORZlF2qDzti3-ymW0gA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: q2AxBb8lJseuIr9osMm1UCv1XDnGn13W X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA5MDA5NiBTYWx0ZWRfX2Xu2eqvqw4qf iKw2ZB98c5WTEkbB1T3MyKCUnW9UF9YrHSEq3XlDxBQvQOt+3l+OveVLvF0/ueRLt5SrMtBC6xO kje5CW2zMujdvj6pMBSLKEEHkScoYVuKPbXadtXD/wA7E34zVvvMr4RT4trpSWYixct979/QDlj 5425bbaJeT8R8uN0TwwZfwL3dsy2O9qiJ3MiJD37mTFzY0USQIHgXJcRHHUP5jWSYORWKAkI3yh Llp+RX5AiIP9eU7ejTubeNNtpLwbNDyUTwY62+eEz2Nt/CzSFn0qMHCyZb1ojLuVbmJpwMGJb42 o3qUaLUzIDVfFFuq7xr91J+iE0gDsmTIRrZWNK1b42tXS5L5IarPMgcTiYaBbqGz7NlrpMSpw1O 6CyTFzbXpHb5MdrhRBAe4a9FvOWJXnCIPLMU6VivEEmCK5Y7Wu0VwPkqmgHU130llsGK7MpTO8A E2lNY1uxWpC1C82ZbHw== X-Proofpoint-ORIG-GUID: q2AxBb8lJseuIr9osMm1UCv1XDnGn13W X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-09_02,2026-06-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 impostorscore=0 suspectscore=0 adultscore=0 spamscore=0 clxscore=1015 malwarescore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606090096 When a DSP hangs without triggering its own crash handler, a graceful shutdown via sysmon times out. Before this series, two things went wrong: 1. The stop() and unprepare() callbacks in struct rproc_subdev were void. Implementations had no way to surface failures, and callers discarded any internal error state silently. 2. Even if an error had been detectable, rproc_stop_subdevices() kept iterating after a failed stop. This meant glink and ssr subdevices were torn down regardless, causing HLOS to unregister and unmap the shared memory regions. If the remote still had DMA in flight against those regions — as is often the case with a hung DSP — the result was an SMMU fault. This series fixes both problems in three steps. Patch 1 changes stop() and unprepare() from void to int, matching prepare() and start(). Most implementations gain a trivial return 0; rproc_vdev_do_stop() now surfaces the error it was already computing. Callers warn on failure but continue iterating (best-effort). Patch 2 changes rproc_stop_subdevices() to abort and return error on the first failing subdev, propagating through rproc_stop() and __rproc_detach(). Patch 3 makes sysmon_stop() return -ETIMEDOUT when the remote does not acknowledge a graceful shutdown request. Combined with patch 2, this prevents glink and ssr from unmapping shared memory against a hung DSP. Mukesh Ojha (3): remoteproc: check return value of subdev stop and unprepare callbacks remoteproc: abort subdev stop sequence on first failure remoteproc: qcom_sysmon: abort stop on unacknowledged shutdown drivers/remoteproc/qcom_common.c | 26 ++++++++++++++----- drivers/remoteproc/qcom_sysmon.c | 15 ++++++++--- drivers/remoteproc/remoteproc_core.c | 36 +++++++++++++++++++++----- drivers/remoteproc/remoteproc_virtio.c | 4 ++- drivers/rpmsg/mtk_rpmsg.c | 8 ++++-- include/linux/remoteproc.h | 4 +-- 6 files changed, 71 insertions(+), 22 deletions(-) -- 2.53.0