From: Jens Wiklander Date: Mon, 3 Feb 2025 10:21:12 +0000 (+0100) Subject: xen/arm: ffa: fix bind/unbind notification X-Git-Tag: 4.20.0-rc4~4 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=39c45caef271bc2b2e299217450cfda24c0c772a;p=xen.git xen/arm: ffa: fix bind/unbind notification The notification bitmask is in passed in the FF-A ABI in two 32-bit registers w3 and w4. The lower 32-bits should go in w3 and the higher in w4. These two registers has unfortunately been swapped for FFA_NOTIFICATION_BIND and FFA_NOTIFICATION_UNBIND in the FF-A mediator. So fix that by using the correct registers. Fixes: b490f470f58d ("xen/arm: ffa: support notification") Signed-off-by: Jens Wiklander Reviewed-by: Bertrand Marquis Relese-Acked-by: Oleksii Kurochko --- diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c index 21b9e78f63..00efaf8f73 100644 --- a/xen/arch/arm/tee/ffa_notif.c +++ b/xen/arch/arm/tee/ffa_notif.c @@ -40,8 +40,8 @@ int ffa_handle_notification_bind(struct cpu_user_regs *regs) * We only support notifications from SP so no need to check the sender * endpoint ID, the SPMC will take care of that for us. */ - return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap_hi, - bitmap_lo); + return ffa_simple_call(FFA_NOTIFICATION_BIND, src_dst, flags, bitmap_lo, + bitmap_hi); } int ffa_handle_notification_unbind(struct cpu_user_regs *regs) @@ -61,8 +61,8 @@ int ffa_handle_notification_unbind(struct cpu_user_regs *regs) * We only support notifications from SP so no need to check the * destination endpoint ID, the SPMC will take care of that for us. */ - return ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_hi, - bitmap_lo); + return ffa_simple_call(FFA_NOTIFICATION_UNBIND, src_dst, 0, bitmap_lo, + bitmap_hi); } void ffa_handle_notification_info_get(struct cpu_user_regs *regs)