From e9fdb45f72fc17b898f2a3bd18ad478647f8b2f3 Mon Sep 17 00:00:00 2001 From: anupamg Date: Sat, 20 Jul 2024 01:36:46 +0000 Subject: [PATCH] DCE-KMD: FSM: Don't acquire locks during init/de.. Dont't acquire locks during init/deinit. - FSM init/deinit is expected to be called during init/deinit phase when everything else and FSM itself is inactive. - FSM mutex is just initialized/deinit in the same functions where we're trying to acquire lock/release. - While it is techically ok in general but not requried. - Also HVRTOS restriction prevents to acquire mutexes in initialization phase. - Deinit can be called in Initization context to deinit if init fails. JIRA TDS-16052 Change-Id: I19e10bb890a4ab6d011df4380ab3a6d5fe92c696 Signed-off-by: anupamg Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3178697 Reviewed-by: Arun Swain GVS: buildbot_gerritrpt Reviewed-by: svcacv Reviewed-by: Mahesh Kumar --- drivers/platform/tegra/dce/dce-fsm.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/platform/tegra/dce/dce-fsm.c b/drivers/platform/tegra/dce/dce-fsm.c index 720b68e7..ef64b1b4 100644 --- a/drivers/platform/tegra/dce/dce-fsm.c +++ b/drivers/platform/tegra/dce/dce-fsm.c @@ -504,10 +504,8 @@ int dce_fsm_init(struct tegra_dce *d) return ret; } - dce_mutex_lock(&fsm->lock); fsm->d = d; fsm->initialized = true; - dce_mutex_unlock(&fsm->lock); return ret; } @@ -523,9 +521,7 @@ void dce_fsm_deinit(struct tegra_dce *d) { struct dce_fsm_info *fsm = &d->fsm_info; - dce_mutex_lock(&fsm->lock); fsm->initialized = false; - dce_mutex_unlock(&fsm->lock); dce_mutex_destroy(&fsm->lock); }