From ae9cb66d77ea8068a6f0dc8cbf74b7b36708d79d Mon Sep 17 00:00:00 2001 From: yashi Date: Wed, 14 Jun 2023 03:19:42 +0000 Subject: [PATCH] Protect FFA sync_send_receive with a single mutex - In sync_send_receive only support access from a single thread at a time. Add the mutex to protect multi-instance - This patch is imported from https://p4sw-swarm.nvidia.com/changes/32944487 Bug 4135491 Change-Id: Icdcce1df570639e580fbe238ee6260fd2178ef20 Signed-off-by: Yang Shi Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2920915 Reviewed-by: Bharat Nihalani Reviewed-by: Chris Dragan GVS: Gerrit_Virtual_Submit --- drivers/misc/mods/mods_arm_ffa.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/misc/mods/mods_arm_ffa.c b/drivers/misc/mods/mods_arm_ffa.c index 79aeacca..8fddfa8e 100644 --- a/drivers/misc/mods/mods_arm_ffa.c +++ b/drivers/misc/mods/mods_arm_ffa.c @@ -26,6 +26,8 @@ struct mods_ffa_ctx { #endif }; +static DEFINE_MUTEX(mods_ffa_lock); + static struct mods_ffa_ctx mods_ffa_info; static int ffa_probe(struct ffa_device *ffa_dev) @@ -137,7 +139,9 @@ int esc_mods_arm_ffa_cmd(struct mods_client *client, return err; } + mutex_lock(&mods_ffa_lock); err = mods_ffa_info.ffa_ops->sync_send_receive(mods_ffa_info.ffa_dev, &data); + mutex_unlock(&mods_ffa_lock); switch (p->cmd) { case MODS_FFA_CMD_READ_REG: