2020-04-08 21:34:45

by Grygorii Strashko

[permalink] [raw]
Subject: [PATCH] dmaengine: ti: k3-psil: fix deadlock on error path

The mutex_unlock() is missed on error path of psil_get_ep_config()
which causes deadlock, so add missed mutex_unlock().

Fixes: 8c6bb62f6b4a ("dmaengine: ti: k3 PSI-L remote endpoint configuration")
Signed-off-by: Grygorii Strashko <[email protected]>
---
drivers/dma/ti/k3-psil.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/dma/ti/k3-psil.c b/drivers/dma/ti/k3-psil.c
index d7b965049ccb..fb7c8150b0d1 100644
--- a/drivers/dma/ti/k3-psil.c
+++ b/drivers/dma/ti/k3-psil.c
@@ -27,6 +27,7 @@ struct psil_endpoint_config *psil_get_ep_config(u32 thread_id)
soc_ep_map = &j721e_ep_map;
} else {
pr_err("PSIL: No compatible machine found for map\n");
+ mutex_unlock(&ep_map_mutex);
return ERR_PTR(-ENOTSUPP);
}
pr_debug("%s: Using map for %s\n", __func__, soc_ep_map->name);
--
2.17.1


2020-04-09 06:46:34

by Peter Ujfalusi

[permalink] [raw]
Subject: Re: [PATCH] dmaengine: ti: k3-psil: fix deadlock on error path



On 08/04/2020 21.55, Grygorii Strashko wrote:
> The mutex_unlock() is missed on error path of psil_get_ep_config()
> which causes deadlock, so add missed mutex_unlock().

Ah, you are right, thanks for catching it!

Acked-by: Peter Ujfalusi <[email protected]>

> Fixes: 8c6bb62f6b4a ("dmaengine: ti: k3 PSI-L remote endpoint configuration")
> Signed-off-by: Grygorii Strashko <[email protected]>
> ---
> drivers/dma/ti/k3-psil.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/dma/ti/k3-psil.c b/drivers/dma/ti/k3-psil.c
> index d7b965049ccb..fb7c8150b0d1 100644
> --- a/drivers/dma/ti/k3-psil.c
> +++ b/drivers/dma/ti/k3-psil.c
> @@ -27,6 +27,7 @@ struct psil_endpoint_config *psil_get_ep_config(u32 thread_id)
> soc_ep_map = &j721e_ep_map;
> } else {
> pr_err("PSIL: No compatible machine found for map\n");
> + mutex_unlock(&ep_map_mutex);
> return ERR_PTR(-ENOTSUPP);
> }
> pr_debug("%s: Using map for %s\n", __func__, soc_ep_map->name);
>

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

2020-04-16 00:17:52

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH] dmaengine: ti: k3-psil: fix deadlock on error path

On 08-04-20, 21:55, Grygorii Strashko wrote:
> The mutex_unlock() is missed on error path of psil_get_ep_config()
> which causes deadlock, so add missed mutex_unlock().

Applied, thanks

--
~Vinod