| From 454e955586f228a2a33353a5489150c47e1ff737 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 9 Dec 2025 08:45:37 +0100 |
| Subject: soc: qcom: smem: handle ENOMEM error during probe |
| |
| From: Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com> |
| |
| [ Upstream commit 0fe01a7955f4fef97e7cc6d14bfc5931c660402b ] |
| |
| Fail the driver probe if the region can't be mapped |
| |
| Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com> |
| Fixes: 20bb6c9de1b7 ("soc: qcom: smem: map only partitions used by local HOST") |
| Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> |
| Link: https://lore.kernel.org/r/20251209074610.3751781-1-jorge.ramirez@oss.qualcomm.com |
| Signed-off-by: Bjorn Andersson <andersson@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/soc/qcom/smem.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c |
| index f1d1b5aa5e4db..39177aa5793ad 100644 |
| --- a/drivers/soc/qcom/smem.c |
| +++ b/drivers/soc/qcom/smem.c |
| @@ -1215,7 +1215,9 @@ static int qcom_smem_probe(struct platform_device *pdev) |
| smem->item_count = qcom_smem_get_item_count(smem); |
| break; |
| case SMEM_GLOBAL_HEAP_VERSION: |
| - qcom_smem_map_global(smem, size); |
| + ret = qcom_smem_map_global(smem, size); |
| + if (ret < 0) |
| + return ret; |
| smem->item_count = SMEM_ITEM_COUNT; |
| break; |
| default: |
| -- |
| 2.51.0 |
| |