Commit c6e04536 authored by Sudeep Holla's avatar Sudeep Holla

firmware: arm_ffa: Fix usage of partition info get count flag

Commit bb1be749 ("firmware: arm_ffa: Add v1.1 get_partition_info support")
adds support to discovery the UUIDs of the partitions or just fetch the
partition count using the PARTITION_INFO_GET_RETURN_COUNT_ONLY flag.

However the commit doesn't handle the fact that the older version doesn't
understand the flag and must be MBZ which results in firmware returning
invalid parameter error. That results in the failure of the driver probe
which is in correct.

Limit the usage of the PARTITION_INFO_GET_RETURN_COUNT_ONLY flag for the
versions above v1.0(i.e v1.1 and onwards) which fixes the issue.

Fixes: bb1be749 ("firmware: arm_ffa: Add v1.1 get_partition_info support")
Reported-by: default avatarJens Wiklander <jens.wiklander@linaro.org>
Reported-by: default avatarMarc Bonnici <marc.bonnici@arm.com>
Tested-by: default avatarJens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: default avatarJens Wiklander <jens.wiklander@linaro.org>
Link: https://lore.kernel.org/r/20230419-ffa_fixes_6-4-v2-2-d9108e43a176@arm.comSigned-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
parent b71b5524
...@@ -193,7 +193,8 @@ __ffa_partition_info_get(u32 uuid0, u32 uuid1, u32 uuid2, u32 uuid3, ...@@ -193,7 +193,8 @@ __ffa_partition_info_get(u32 uuid0, u32 uuid1, u32 uuid2, u32 uuid3,
int idx, count, flags = 0, sz, buf_sz; int idx, count, flags = 0, sz, buf_sz;
ffa_value_t partition_info; ffa_value_t partition_info;
if (!buffer || !num_partitions) /* Just get the count for now */ if (drv_info->version > FFA_VERSION_1_0 &&
(!buffer || !num_partitions)) /* Just get the count for now */
flags = PARTITION_INFO_GET_RETURN_COUNT_ONLY; flags = PARTITION_INFO_GET_RETURN_COUNT_ONLY;
mutex_lock(&drv_info->rx_lock); mutex_lock(&drv_info->rx_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment