On Fri, Nov 28, 2025 at 07:32:05PM -0600, Alexandru Gagniuc wrote:
> The "qcom,halt-regs" consists of a phandle reference followed by the
> three offsets within syscon for halt registers. Thus, we need to
> request 4 integers from of_property_read_variable_u32_array(), with
> the halt_reg ofsets at indexes 1, 2, and 3. Offset 0 is the phandle.
> 
> With MAX_HALT_REG at 3, of_property_read_variable_u32_array() returns
> -EOVERFLOW, causing .probe() to fail.
> 
> Increase MAX_HALT_REG to 4, and update the indexes accordingly.
> 

Good catch, thanks

Fixes: 0af65b9b915e ("remoteproc: qcom: wcss: Add non pas wcss Q6 support for 
QCS404")

Regards,
Bjorn

> Signed-off-by: Alexandru Gagniuc <[email protected]>
> ---
>  drivers/remoteproc/qcom_q6v5_wcss.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c 
> b/drivers/remoteproc/qcom_q6v5_wcss.c
> index 07c88623f5978..23ec87827d4f8 100644
> --- a/drivers/remoteproc/qcom_q6v5_wcss.c
> +++ b/drivers/remoteproc/qcom_q6v5_wcss.c
> @@ -85,7 +85,7 @@
>  #define TCSR_WCSS_CLK_MASK   0x1F
>  #define TCSR_WCSS_CLK_ENABLE 0x14
>  
> -#define MAX_HALT_REG         3
> +#define MAX_HALT_REG         4
>  enum {
>       WCSS_IPQ8074,
>       WCSS_QCS404,
> @@ -864,9 +864,9 @@ static int q6v5_wcss_init_mmio(struct q6v5_wcss *wcss,
>               return -EINVAL;
>       }
>  
> -     wcss->halt_q6 = halt_reg[0];
> -     wcss->halt_wcss = halt_reg[1];
> -     wcss->halt_nc = halt_reg[2];
> +     wcss->halt_q6 = halt_reg[1];
> +     wcss->halt_wcss = halt_reg[2];
> +     wcss->halt_nc = halt_reg[3];
>  
>       return 0;
>  }
> -- 
> 2.45.1
> 

Reply via email to