On Wed 01 Jul 12:59 PDT 2020, Sibi Sankar wrote:

> The Protection Domains (PD) have a mechanism to keep its resources
> enabled until the PD down indication is acked. Reorder the PD state
> indication ack so that clients get to release the relevant resources
> before the PD goes down.
> 
> Fixes: fbe639b44a82 ("soc: qcom: Introduce Protection Domain Restart helpers")
> Reported-by: Rishabh Bhatnagar <[email protected]>
> Signed-off-by: Sibi Sankar <[email protected]>

Reviewed-by: Bjorn Andersson <[email protected]>

> ---
> 
> I couldn't find the previous patch on patchworks. Resending the patch
> since it would need to land on stable trees as well
> 
>  drivers/soc/qcom/pdr_interface.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/soc/qcom/pdr_interface.c 
> b/drivers/soc/qcom/pdr_interface.c
> index a90d707da6894..088dc99f77f3f 100644
> --- a/drivers/soc/qcom/pdr_interface.c
> +++ b/drivers/soc/qcom/pdr_interface.c
> @@ -279,13 +279,15 @@ static void pdr_indack_work(struct work_struct *work)
>  
>       list_for_each_entry_safe(ind, tmp, &pdr->indack_list, node) {
>               pds = ind->pds;
> -             pdr_send_indack_msg(pdr, pds, ind->transaction_id);
>  
>               mutex_lock(&pdr->status_lock);
>               pds->state = ind->curr_state;
>               pdr->status(pds->state, pds->service_path, pdr->priv);
>               mutex_unlock(&pdr->status_lock);
>  
> +             /* Ack the indication after clients release the PD resources */
> +             pdr_send_indack_msg(pdr, pds, ind->transaction_id);
> +
>               mutex_lock(&pdr->list_lock);
>               list_del(&ind->node);
>               mutex_unlock(&pdr->list_lock);
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
> 

Reply via email to