A partition can implement multiple UUIDs and adding the same partition twice will fail. Don't try to add a partition again, if it is already added earlier.
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- drivers/firmware/arm_ffa/driver.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c index b824c7c024fd..6de941821319 100644 --- a/drivers/firmware/arm_ffa/driver.c +++ b/drivers/firmware/arm_ffa/driver.c @@ -1389,6 +1389,10 @@ static int ffa_add_partition_info(int vm_id) struct ffa_dev_part_info *info; int ret;
+ /* Already added ? */ + if (xa_load(&drv_info->partition_info, vm_id)) + return 0; + info = kzalloc(sizeof(*info), GFP_KERNEL); if (!info) return -ENOMEM;