diff mbox series

soc: qcom: pdr: Fixup array type of get_domain_list_resp message

Message ID 20200914145807.1224-1-sibis@codeaurora.org (mailing list archive)
State Accepted
Commit 7a366707bb6a93baeb1a9ef46c4b9c875e0132d6
Headers show
Series soc: qcom: pdr: Fixup array type of get_domain_list_resp message | expand

Commit Message

Sibi Sankar Sept. 14, 2020, 2:58 p.m. UTC
The array type of get_domain_list_resp is incorrectly marked as NO_ARRAY.
Due to which the following error was observed when using pdr helpers with
the downstream proprietary pd-mapper. Fix this up by marking it as
VAR_LEN_ARRAY instead.

Err logs:
qmi_decode_struct_elem: Fault in decoding: dl(2), db(27), tl(160), i(1), el(1)
failed to decode incoming message
PDR: tms/servreg get domain list txn wait failed: -14
PDR: service lookup for tms/servreg failed: -14

Fixes: fbe639b44a82 ("soc: qcom: Introduce Protection Domain Restart helpers")
Reported-by: Rishabh Bhatnagar <rishabhb@codeaurora.org>
Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
---
 drivers/soc/qcom/pdr_internal.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Rishabh Bhatnagar Sept. 14, 2020, 9:13 p.m. UTC | #1
On 2020-09-14 07:58, Sibi Sankar wrote:
> The array type of get_domain_list_resp is incorrectly marked as 
> NO_ARRAY.
> Due to which the following error was observed when using pdr helpers 
> with
> the downstream proprietary pd-mapper. Fix this up by marking it as
> VAR_LEN_ARRAY instead.
> 
> Err logs:
> qmi_decode_struct_elem: Fault in decoding: dl(2), db(27), tl(160), 
> i(1), el(1)
> failed to decode incoming message
> PDR: tms/servreg get domain list txn wait failed: -14
> PDR: service lookup for tms/servreg failed: -14
> 
> Fixes: fbe639b44a82 ("soc: qcom: Introduce Protection Domain Restart 
> helpers")
> Reported-by: Rishabh Bhatnagar <rishabhb@codeaurora.org>
> Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
> ---
>  drivers/soc/qcom/pdr_internal.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/soc/qcom/pdr_internal.h 
> b/drivers/soc/qcom/pdr_internal.h
> index 15b5002e4127b..ab9ae8cdfa54c 100644
> --- a/drivers/soc/qcom/pdr_internal.h
> +++ b/drivers/soc/qcom/pdr_internal.h
> @@ -185,7 +185,7 @@ struct qmi_elem_info 
> servreg_get_domain_list_resp_ei[] = {
>  		.data_type      = QMI_STRUCT,
>  		.elem_len       = SERVREG_DOMAIN_LIST_LENGTH,
>  		.elem_size      = sizeof(struct servreg_location_entry),
> -		.array_type	= NO_ARRAY,
> +		.array_type	= VAR_LEN_ARRAY,
>  		.tlv_type       = 0x12,
>  		.offset         = offsetof(struct servreg_get_domain_list_resp,
>  					   domain_list),
Tested-by: Rishabh Bhatnagar <rishabhb@codeaurora.org>
diff mbox series

Patch

diff --git a/drivers/soc/qcom/pdr_internal.h b/drivers/soc/qcom/pdr_internal.h
index 15b5002e4127b..ab9ae8cdfa54c 100644
--- a/drivers/soc/qcom/pdr_internal.h
+++ b/drivers/soc/qcom/pdr_internal.h
@@ -185,7 +185,7 @@  struct qmi_elem_info servreg_get_domain_list_resp_ei[] = {
 		.data_type      = QMI_STRUCT,
 		.elem_len       = SERVREG_DOMAIN_LIST_LENGTH,
 		.elem_size      = sizeof(struct servreg_location_entry),
-		.array_type	= NO_ARRAY,
+		.array_type	= VAR_LEN_ARRAY,
 		.tlv_type       = 0x12,
 		.offset         = offsetof(struct servreg_get_domain_list_resp,
 					   domain_list),