From 3ed66efd33f09e2d933cc35136e3744ed3816c17 Mon Sep 17 00:00:00 2001 From: Nilesh Laad Date: Mon, 9 Feb 2026 12:34:42 +0530 Subject: [PATCH 1/2] disp: msm: dp: handle panel_init for eDP case Currently, panel_init is getting called redundantly from host_ready and panel_ready for eDP, causing delay in display to come up. Remove panel_init call from host_ready to reduce the delay. Change-Id: I73d59e37df7b9d79f132b684bfb862a90935afd3 Signed-off-by: Nilesh Laad --- msm/dp/dp_display.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/msm/dp/dp_display.c b/msm/dp/dp_display.c index 2655f9d236d7..6d9bd658cb8f 100644 --- a/msm/dp/dp_display.c +++ b/msm/dp/dp_display.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2023-2025 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved. */ @@ -1249,7 +1249,6 @@ static int dp_display_host_ready(struct dp_display_private *dp) dp->ctrl->abort(dp->ctrl, false); dp->aux->init(dp->aux, dp->parser->aux_cfg, skip_op); - dp->panel->init(dp->panel, skip_op); dp_display_state_add(DP_STATE_READY); /* log this as it results from user action of cable connection */ From 38f771a775abdb163c06b791a29d1c7cb640dcaf Mon Sep 17 00:00:00 2001 From: Vedant Yevale Date: Fri, 22 Aug 2025 14:32:54 +0530 Subject: [PATCH 2/2] disp: msm: dsi: Nullify display modes after kfree The 'display->modes' pointer must be set to NULL immediately after calling kfree on it to prevent potential double-free vulnerabilities or use-after-free issues. This change ensures robust memory management by clearing the pointer to previously freed memory, aligning with best practices for kernel memory deallocation. Change-Id: I4fd939bc6ee5f3d9c506f0c311a9400f366e7fd2 Signed-off-by: Vedant Yevale (cherry picked from commit 1d3c5a477ea8f6aca1158209e1b87209c21c61f5) --- msm/dsi/dsi_display.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/msm/dsi/dsi_display.c b/msm/dsi/dsi_display.c index 38c478f94641..3de65e4d9170 100644 --- a/msm/dsi/dsi_display.c +++ b/msm/dsi/dsi_display.c @@ -7168,8 +7168,10 @@ exit: rc = 0; error: - if (rc) + if (rc) { kfree(display->modes); + display->modes = NULL; + } mutex_unlock(&display->display_lock); return rc;