]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
firmware: arm_ffa: Skip Rx buffer ownership release if not acquired
authorSudeep Holla <sudeep.holla@arm.com>
Fri, 21 Mar 2025 11:57:00 +0000 (11:57 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 May 2025 07:41:44 +0000 (09:41 +0200)
commit88d7fd2d4623b2cb13d056e1bde1861e4dec2408
treef2ec8a66a939647c35233d27e7a12a51686b9f74
parentff4273d47da81b95ed9396110bcbd1b7b7470fe8
firmware: arm_ffa: Skip Rx buffer ownership release if not acquired

[ Upstream commit 4567bdaaaaa1744da3d7da07d9aca2f941f5b4e5 ]

Completion of the FFA_PARTITION_INFO_GET ABI transfers the ownership of
the caller’s Rx buffer from the producer(typically partition mnager) to
the consumer(this driver/OS). FFA_RX_RELEASE transfers the ownership
from the consumer back to the producer.

However, when we set the flag to just return the count of partitions
deployed in the system corresponding to the specified UUID while
invoking FFA_PARTITION_INFO_GET, the Rx buffer ownership shouldn't be
transferred to this driver. We must be able to skip transferring back
the ownership to the partition manager when we request just to get the
count of the partitions as the buffers are not acquired in this case.

Firmware may return FFA_RET_DENIED or other error for the ffa_rx_release()
in such cases.

Fixes: bb1be7498500 ("firmware: arm_ffa: Add v1.1 get_partition_info support")
Message-Id: <20250321115700.3525197-1-sudeep.holla@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/firmware/arm_ffa/driver.c