2024-03-11 11:07:24

by Jens Wiklander

[permalink] [raw]
Subject: [PATCH v2] firmware: arm_ffa: fix 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 1 ID instead of 0.

Fixes: 3522be48d82b ("firmware: arm_ffa: Implement the NOTIFICATION_INFO_GET interface")
Signed-off-by: Jens Wiklander <[email protected]>
Reviewed-by: Lorenzo Pieralisi <[email protected]>
---
drivers/firmware/arm_ffa/driver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/arm_ffa/driver.c b/drivers/firmware/arm_ffa/driver.c
index f2556a8e9401..9bc2e10381af 100644
--- a/drivers/firmware/arm_ffa/driver.c
+++ b/drivers/firmware/arm_ffa/driver.c
@@ -790,7 +790,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;
}
--
2.34.1



2024-03-11 14:51:25

by Sudeep Holla

[permalink] [raw]
Subject: Re: [PATCH v2] firmware: arm_ffa: fix ffa_notification_info_get()

On Mon, Mar 11, 2024 at 12:07:00PM +0100, Jens Wiklander wrote:
> 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 1 ID instead of 0.
>

LGTM, will queue it at -rc1 as fix.

--
Regards,
Sudeep

2024-03-26 14:51:17

by Sudeep Holla

[permalink] [raw]
Subject: Re: [PATCH v2] firmware: arm_ffa: fix ffa_notification_info_get()

On Mon, 11 Mar 2024 12:07:00 +0100, Jens Wiklander wrote:
> 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 1 ID instead of 0.
>
> [...]

Applied to sudeep.holla/linux (for-next/ffa/fixes), thanks!

[1/1] firmware: arm_ffa: fix ffa_notification_info_get()
https://git.kernel.org/sudeep.holla/c/1a4bd2b128fb
--
Regards,
Sudeep