UPSTREAM: firmware: arm_ffa: Fix the partition ID check in ffa_notification_info_get()

FFA_NOTIFICATION_INFO_GET retrieves information about pending
notifications. Notifications can be either global or per VCPU. Global
notifications are reported with the partition ID only in the list of
endpoints with pending notifications. ffa_notification_info_get()
incorrectly expect no ID at all for global notifications. Fix this by
checking for ID = 1 instead of ID = 0.

Bug: 254441685
Fixes: 3522be48d8 ("firmware: arm_ffa: Implement the NOTIFICATION_INFO_GET interface")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Link: https://lore.kernel.org/r/20240311110700.2367142-1-jens.wiklander@linaro.org
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
(cherry picked from commit 1a4bd2b128)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: I420fb6c0dee70fcf9beb82803a57f2bc580735f9
This commit is contained in:
Jens Wiklander 2024-03-11 12:07:00 +01:00 committed by Lee Jones
parent 05181e576f
commit 11a6be14ae

View File

@ -789,7 +789,7 @@ static void ffa_notification_info_get(void)
part_id = packed_id_list[ids_processed++];
if (!ids_count[list]) { /* Global Notification */
if (ids_count[list] == 1) { /* Global Notification */
__do_sched_recv_cb(part_id, 0, false);
continue;
}