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 C619E4192E7 for ; Mon, 29 Jun 2026 14:18:12 +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=1782742693; cv=none; b=A7Kk57NIcPH6hOFJOiM3/c3OF1OU8EV+C2TSqipASVLVVz5xAzRtQiWfgJ9NFNR+J8nalhMILqZr8uvnI0DtdTTiPzSxstq5KlMaooL6fUNgoPVpUPtMrdQqfT4gW/0GApGgLnQTwqw7kFz8i7BdrT7u061R2tinyTFurKfSs4M= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782742693; c=relaxed/simple; bh=Df1KDOccbqEazNlLvwWaAHjiE6WZ0aQvZvw7WpehgKY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dn35oOZuJ9LR5oZcguHesewkwndx81A0RO2NOPChZJGcLFxDrshDF9uy4Q2K2VkSnKjWTg1xoso7Ixy9csn4VClnkS14YCHP5hFzJviOiSyNJAUv2NCPpnVm1aftW5yaQLUVzAP/hKOtz1lNMVTipQESdoBBbiu6oUrIBpE9wPg= 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=jGOsj5xm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BS/vJF0f; 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="jGOsj5xm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BS/vJF0f" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65TAT3qF2641658 for ; Mon, 29 Jun 2026 14:18:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=uv1W3tU2aY8 ToSlnS9LSoHeA44va9lxe+3x0vozFLeI=; b=jGOsj5xmgU8xEGmXtgZzLSipVXD 10CYAxtHJOFOEfVjpw+EMBTwAYrGyWlcIdNlasKL58BxmbyKLKRStFxAesIb2RqS BHJqtT3Xes/7msdXzRH7MzNCj9lxWMNJzNlULhKQMG7thQncnQzoDNgc3AmAGkOq u7tqwvy7zbSw5ecT6sVca2H+YC4MyMj9z/4Nmi8yDuCsefc1qIpp0Ac3Ww5G41AU uj1iILWL+yAfCAhxNXfo6AYTQAYNTPFPMGjXSqBbyRABGZOzu+/d1z1B+4WO93PO yxuQmzwulD3neCRr4bRuFbSnCSyK/8Qkc9QbNHIe5IzG8TXdihcVjeZoXVw== Received: from mail-ot1-f70.google.com (mail-ot1-f70.google.com [209.85.210.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4f3npes7bf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 29 Jun 2026 14:18:12 +0000 (GMT) Received: by mail-ot1-f70.google.com with SMTP id 46e09a7af769-7e9e741693bso467660a34.0 for ; Mon, 29 Jun 2026 07:18:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782742691; x=1783347491; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uv1W3tU2aY8ToSlnS9LSoHeA44va9lxe+3x0vozFLeI=; b=BS/vJF0frXsS8+DPzHt8mQ+8voPQ4bzN8jfekMefdU4b3V5I1GJCqsDZvSLtZRAG42 AkV11O1IkCm46x/Po72Fn1vxTcpE+4lvYIbdu4Vs/BF07bZ8Uv1nMdvYaUHje5wKgbJN GxAzgGcbACe7d0umihCw/XPq7PnkU5y+/0kWlGK874RufxFZh61MddJTSfOUoKrKfRCm cTuFdl1z8GqCkTjdtWsoFdhmYU6Gn1lp5YuUEMFwG6kdJ7p0GTsl2WG4X6SC3WiGqVRL 9fa9RmLLlwig+YLiuqenBy4hAtXY0jvn7iXGszBSlWEwFCdNrckUzSqjs8p2LCbKxUMX ixJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782742691; x=1783347491; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=uv1W3tU2aY8ToSlnS9LSoHeA44va9lxe+3x0vozFLeI=; b=gu1qiBsW99DozSKs+WvKIVwlUcKoEol9yEgrO2uezSDwwd7j/juVZOXMDO//LIDKaV xwI0oyNne9RPRYyruEWaYgpu0Fpieiy0OokC23oo/RDiHNtyDUWZRS3nA3ppPJ1tB8NH x00820ToUxRYURMaSKCzpD6lUvdS9AP4ytXPNLce9Wzg6LIKOvspICSvp1A6lS0U8wZ9 oo7Piq3D+4l+1xMFIeP4hPdftZymoqX7XS8WgNSf2hBOJOln2jk2NGABkMKJAMlNs4Pm r2ITkUUiGwAKPByffPcIzWmRmJUfh9j6FjO9kz7oksjsmfUTi+sn3q/lviEfouKiWOPF ZEpA== X-Forwarded-Encrypted: i=1; AFNElJ/NHy+F0o/4z9fn6qKO+kmxKd1Zh25JBPYniKTy/uRSmYrLeY6YOuEpXXfM5Yh3hf3+opvoxGHdkjWNZvU=@vger.kernel.org X-Gm-Message-State: AOJu0YxqS3OkPWgA7GtZFzKradZ/6e20ZDvQDKomrV6xlPH7rYBYzOzs /rs27mNAYGuvEHXy3QO2rWT/0eSC7H2Zhr1QkWj09ICgYr0xH8t7mMiod6oz0nkPIwANNPlpBmJ tEZz/V0WW733nYimFmHHPcedD4bJpu26+N+6+Xkqxwxv3oFh+M3o378ffUhIVren0aF0= X-Gm-Gg: AfdE7cmu9x9eVftNAQvVl/6641dJWBt3JHkFd7llDWZTaaj14+ann51u8r1NJZhe2fb Pyeti5mK0Sgr2eCz+1de/TkMtAH2EgfIP2L4oHN+ajtVRLiFXxUtjglz1g839KxIDEr9pT5sqwj yCgsDpdLPptehC9NTwWvcUh08lX60nvO9V+KKLsJJwUBn2z9k64ntF10qOBkCUAerH81okLHWBz KpuMDN/XD/Fy9viN6kDDEGgOn6iY0oXK4hqwk55dh8fFINAJCajOVivbos/79giQLcPozi72tiL 92GJ5szjlQu11kCbztT7+wNRkWAXqRE8eaWeudNtkZOSdhjjBQF8Xh0r790toRgYSpapLBfQ7Xz 0wWxIMUXEDpD954AEgQRP1d6faQL3Sg13/X67rg== X-Received: by 2002:a05:6830:7306:b0:7e9:b4cf:683e with SMTP id 46e09a7af769-7e9e9301fe2mr517580a34.30.1782742691270; Mon, 29 Jun 2026 07:18:11 -0700 (PDT) X-Received: by 2002:a05:6830:7306:b0:7e9:b4cf:683e with SMTP id 46e09a7af769-7e9e9301fe2mr517554a34.30.1782742690597; Mon, 29 Jun 2026 07:18:10 -0700 (PDT) Received: from hu-mojha-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7e9e8228746sm647612a34.20.2026.06.29.07.18.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2026 07:18:10 -0700 (PDT) From: Mukesh Ojha To: Bjorn Andersson , Konrad Dybcio , Bartosz Golaszewski , Guru Das Srinagesh , Sibi Sankar , Elliot Berman , Andrew Halaney Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Mukesh Ojha Subject: [PATCH v2 3/3] firmware: qcom: scm: Fix tzmem state on probe retry Date: Mon, 29 Jun 2026 19:47:50 +0530 Message-ID: <20260629141750.996853-4-mukesh.ojha@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260629141750.996853-1-mukesh.ojha@oss.qualcomm.com> References: <20260629141750.996853-1-mukesh.ojha@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjI5MDExOSBTYWx0ZWRfX11A1i3yVsDLC HpQQKo9PZPcijXPNNrsYAAt1g69RdzS2gEqC+dPvfmYjCrr5erGn2AQJ79sJNzpyji3zV1TVqxW avpigOm+Ss9ZcFBg+g2eys93mvbedVVFqy5AjpVQEzuq6UwgdpFcrlmHoGx22MJwGEKE1vc+1QA Ys5ophtaF7JgFRMspbH2VDtMzkj219KruN6eoDMKM4uUE/VV0DxX4/eRhrJ6QH0Or+tKkTxBhNi KV/728WGCwXIt+E9PhJNlSxTmUCEQv3nrtvQR8B7qXUGhB07M2L9OMHIJyx1CwZQ6eXgof5k1eH Fbo7Ck1guMCIy1C4s02mTOgggYk2wedZzjDoXM6KzOLs0VOAhtsDvSjikLmS9K0yCECCuQMKpXW FYOs/Df4KrMmUuC4gN2euO/zAFGytsy79M1tOPTXcMI8w1vmqbKj+eHi19lKi/B/qJz9mkzHRIR jlJgbhcCW/7IIgJvmJg== X-Proofpoint-ORIG-GUID: 6nAEGY913--4ymMot89koyLrJHGbk8Gh X-Authority-Analysis: v=2.4 cv=T6q8ifKQ c=1 sm=1 tr=0 ts=6a427ea4 cx=c_pps a=7uPEO8VhqeOX8vTJ3z8K6Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=Wn-X5jRZ7-pqfG1RE4UA:9 a=EXS-LbY8YePsIyqnH6vw:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjI5MDExOSBTYWx0ZWRfXxx534mn1s3z9 i2zEa6lkXrlg4VMjVNd8oIYtgPG5eCDj7GrYho/ZgHwrBbCTo0QBrC1A6SG0mxU8QR+vyAetFx5 DyKnhNpCnr0vSqUYYYSTLaeRBWkFhXA= X-Proofpoint-GUID: 6nAEGY913--4ymMot89koyLrJHGbk8Gh 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-29_03,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 suspectscore=0 clxscore=1015 adultscore=0 lowpriorityscore=0 malwarescore=0 impostorscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606290119 qcom_tzmem_enable() returns -EBUSY if called a second time, but this causes probe retries to fail permanently if a later step in qcom_scm_probe() defers after qcom_tzmem_enable() has already succeeded. Use DO_ONCE() to ensure qcom_tzmem_init() runs exactly once across all calls in a thread-safe manner. qcom_tzmem_dev is set on every call since probe retries use the same device pointer. The result of the first initialisation is cached and returned to every subsequent caller. Fixes: 40289e35ca52 ("firmware: qcom: scm: enable the TZ mem allocator") Signed-off-by: Mukesh Ojha --- drivers/firmware/qcom/qcom_tzmem.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/firmware/qcom/qcom_tzmem.c b/drivers/firmware/qcom/qcom_tzmem.c index 0635cbeacfc8..0fd9581275f1 100644 --- a/drivers/firmware/qcom/qcom_tzmem.c +++ b/drivers/firmware/qcom/qcom_tzmem.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -507,14 +508,18 @@ phys_addr_t qcom_tzmem_to_phys(void *vaddr) } EXPORT_SYMBOL_GPL(qcom_tzmem_to_phys); +static void qcom_tzmem_do_init(int *result) +{ + *result = qcom_tzmem_init(); +} + int qcom_tzmem_enable(struct device *dev) { - if (qcom_tzmem_dev) - return -EBUSY; + static int result; qcom_tzmem_dev = dev; - - return qcom_tzmem_init(); + DO_ONCE(qcom_tzmem_do_init, &result); + return result; } EXPORT_SYMBOL_GPL(qcom_tzmem_enable); -- 2.53.0