From 6c163567068a0a1016e61543cc65dc7a94ea5994 Mon Sep 17 00:00:00 2001 From: Shashank Babu Chinta Venkata Date: Mon, 10 May 2021 12:32:14 -0700 Subject: [PATCH] disp: msm: dsi: check for null pointer during debugfs deinit Add null pointer check for debugfs deinit during unbind path. Additionally, fix debugfs init to not free debugfs directory unintentionally. Change-Id: I430fe8810608a8e56d6d02e996044e69b4116421 Signed-off-by: Shashank Babu Chinta Venkata --- msm/dsi/dsi_ctrl.c | 7 ++++++- msm/dsi/dsi_display.c | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/msm/dsi/dsi_ctrl.c b/msm/dsi/dsi_ctrl.c index 94cd3d96de..ee04db9155 100644 --- a/msm/dsi/dsi_ctrl.c +++ b/msm/dsi/dsi_ctrl.c @@ -333,6 +333,8 @@ static int dsi_ctrl_debugfs_init(struct dsi_ctrl *dsi_ctrl, dsi_ctrl->debugfs_root = dir; + return rc; + error_remove_dir: debugfs_remove(dir); error: @@ -341,7 +343,10 @@ error: static int dsi_ctrl_debugfs_deinit(struct dsi_ctrl *dsi_ctrl) { - debugfs_remove(dsi_ctrl->debugfs_root); + if (dsi_ctrl->debugfs_root) { + debugfs_remove(dsi_ctrl->debugfs_root); + dsi_ctrl->debugfs_root = NULL; + } return 0; } #else diff --git a/msm/dsi/dsi_display.c b/msm/dsi/dsi_display.c index 011a3d8e5b..fda84fd0df 100644 --- a/msm/dsi/dsi_display.c +++ b/msm/dsi/dsi_display.c @@ -2097,7 +2097,10 @@ error: static int dsi_display_debugfs_deinit(struct dsi_display *display) { - debugfs_remove_recursive(display->root); + if (display->root) { + debugfs_remove_recursive(display->root); + display->root = NULL; + } return 0; }