2020-01-06 06:26:54

by Vikas Gupta

[permalink] [raw]
Subject: [PATCH v1] firmware: tee_bnxt: Fix multiple call to tee_client_close_context

Fix calling multiple tee_client_close_context in case of shm allocation
fails.

Fixes: 246880958ac9 (“firmware: broadcom: add OP-TEE based BNXT f/w manager”)
Signed-off-by: Vikas Gupta <[email protected]>
---
drivers/firmware/broadcom/tee_bnxt_fw.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/firmware/broadcom/tee_bnxt_fw.c b/drivers/firmware/broadcom/tee_bnxt_fw.c
index 5b7ef89..ed10da5 100644
--- a/drivers/firmware/broadcom/tee_bnxt_fw.c
+++ b/drivers/firmware/broadcom/tee_bnxt_fw.c
@@ -215,7 +215,6 @@ static int tee_bnxt_fw_probe(struct device *dev)
fw_shm_pool = tee_shm_alloc(pvt_data.ctx, MAX_SHM_MEM_SZ,
TEE_SHM_MAPPED | TEE_SHM_DMA_BUF);
if (IS_ERR(fw_shm_pool)) {
- tee_client_close_context(pvt_data.ctx);
dev_err(pvt_data.dev, "tee_shm_alloc failed\n");
err = PTR_ERR(fw_shm_pool);
goto out_sess;
--
2.7.4


2020-01-06 06:27:29

by Vikas Gupta

[permalink] [raw]
Subject: [PATCH v1] firmware: tee_bnxt: Reduce shm mem size to 4K

Reduce shm memory size as maximum size supported by optee_shm_register
API is 4K.

Fixes: 246880958ac9 (“firmware: broadcom: add OP-TEE based BNXT f/w manager”)
Signed-off-by: Vikas Gupta <[email protected]>
---
drivers/firmware/broadcom/tee_bnxt_fw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/broadcom/tee_bnxt_fw.c b/drivers/firmware/broadcom/tee_bnxt_fw.c
index 5b7ef89..8f0c61c6 100644
--- a/drivers/firmware/broadcom/tee_bnxt_fw.c
+++ b/drivers/firmware/broadcom/tee_bnxt_fw.c
@@ -12,7 +12,7 @@

#include <linux/firmware/broadcom/tee_bnxt_fw.h>

-#define MAX_SHM_MEM_SZ SZ_4M
+#define MAX_SHM_MEM_SZ SZ_4K

#define MAX_TEE_PARAM_ARRY_MEMB 4

--
2.7.4

2020-01-06 07:09:43

by Sumit Garg

[permalink] [raw]
Subject: Re: [PATCH v1] firmware: tee_bnxt: Reduce shm mem size to 4K

+ Jens

Hi Vikas,

On Mon, 6 Jan 2020 at 11:56, Vikas Gupta <[email protected]> wrote:
>
> Reduce shm memory size as maximum size supported by optee_shm_register
> API is 4K.
>

There isn't any 4K size limitation with optee_shm_register() but
rather its an issue in upstream that is fixed via this patch [1]. Give
it a try and let me know if it works for you.

[1] https://lkml.org/lkml/2019/12/30/189

-Sumit

> Fixes: 246880958ac9 (“firmware: broadcom: add OP-TEE based BNXT f/w manager”)
> Signed-off-by: Vikas Gupta <[email protected]>
> ---
> drivers/firmware/broadcom/tee_bnxt_fw.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/broadcom/tee_bnxt_fw.c b/drivers/firmware/broadcom/tee_bnxt_fw.c
> index 5b7ef89..8f0c61c6 100644
> --- a/drivers/firmware/broadcom/tee_bnxt_fw.c
> +++ b/drivers/firmware/broadcom/tee_bnxt_fw.c
> @@ -12,7 +12,7 @@
>
> #include <linux/firmware/broadcom/tee_bnxt_fw.h>
>
> -#define MAX_SHM_MEM_SZ SZ_4M
> +#define MAX_SHM_MEM_SZ SZ_4K
>
> #define MAX_TEE_PARAM_ARRY_MEMB 4
>
> --
> 2.7.4
>

2020-01-06 21:53:35

by David Miller

[permalink] [raw]
Subject: Re: [PATCH v1] firmware: tee_bnxt: Fix multiple call to tee_client_close_context

From: Vikas Gupta <[email protected]>
Date: Mon, 6 Jan 2020 11:54:02 +0530

> Fix calling multiple tee_client_close_context in case of shm allocation
> fails.
>
> Fixes: 246880958ac9 ($B!H(Bfirmware: broadcom: add OP-TEE based BNXT f/w manager$B!I(B)
> Signed-off-by: Vikas Gupta <[email protected]>

Applied.