[PATCH v2 0/2] firmware: stratix10-svc: async and teardown fixes

Adrian Ng Ho Yin posted 2 patches 1 week, 4 days ago
drivers/firmware/stratix10-svc.c             | 9 +++++----
include/linux/firmware/intel/stratix10-smc.h | 4 ++++
2 files changed, 9 insertions(+), 4 deletions(-)
[PATCH v2 0/2] firmware: stratix10-svc: async and teardown fixes
Posted by Adrian Ng Ho Yin 1 week, 4 days ago
This series addresses two issues in the stratix10 service layer's
asynchronous transaction handling.

Patch 1 adds INTEL_SIP_SMC_STATUS_NO_RESPONSE (0x3) to the SMC status
definitions and handles it in stratix10_svc_async_poll() alongside
INTEL_SIP_SMC_STATUS_BUSY. Both statuses indicate the Secure Device
Manager has not yet produced a response and should cause callers to
retry rather than treating the poll as a hard failure. Without this,
the unrecognised status code falls through to the error path and is
mapped to -EINVAL, making "not ready yet" indistinguishable from a
real error.

Patch 2 fixes the teardown ordering in stratix10_svc_drv_remove()
reported by sashiko (https://lore.kernel.org/all/cd6460b2-7f53-4ac6-8f68-172e7853f63f@kernel.org/).
Previously, stratix10_svc_async_exit() was called before client
devices were unregistered, leaving a window where child devices could
issue service requests after the async infrastructure had already been
destroyed. The fix unregisters client devices first so all in-flight
calls drain before the underlying channels and threads are torn down.

---
changelog:
v1->v2:
* update commit message to include Fixes tag and Cc: stable@vger.kernel.org.
---
Adrian Ng Ho Yin (2):
  firmware: stratix10-svc: handle NO_RESPONSE in async poll
  firmware: stratix10-svc: fix teardown order in remove to prevent race

 drivers/firmware/stratix10-svc.c             | 9 +++++----
 include/linux/firmware/intel/stratix10-smc.h | 4 ++++
 2 files changed, 9 insertions(+), 4 deletions(-)

-- 
2.49.GIT
Re: [PATCH v2 0/2] firmware: stratix10-svc: async and teardown fixes
Posted by Dinh Nguyen 1 week, 3 days ago

On 7/14/26 00:37, Adrian Ng Ho Yin wrote:
> This series addresses two issues in the stratix10 service layer's
> asynchronous transaction handling.
> 
> Patch 1 adds INTEL_SIP_SMC_STATUS_NO_RESPONSE (0x3) to the SMC status
> definitions and handles it in stratix10_svc_async_poll() alongside
> INTEL_SIP_SMC_STATUS_BUSY. Both statuses indicate the Secure Device
> Manager has not yet produced a response and should cause callers to
> retry rather than treating the poll as a hard failure. Without this,
> the unrecognised status code falls through to the error path and is
> mapped to -EINVAL, making "not ready yet" indistinguishable from a
> real error.
> 
> Patch 2 fixes the teardown ordering in stratix10_svc_drv_remove()
> reported by sashiko (https://lore.kernel.org/all/cd6460b2-7f53-4ac6-8f68-172e7853f63f@kernel.org/).
> Previously, stratix10_svc_async_exit() was called before client
> devices were unregistered, leaving a window where child devices could
> issue service requests after the async infrastructure had already been
> destroyed. The fix unregisters client devices first so all in-flight
> calls drain before the underlying channels and threads are torn down.
> 
> ---
> changelog:
> v1->v2:
> * update commit message to include Fixes tag and Cc: stable@vger.kernel.org.
> ---
> Adrian Ng Ho Yin (2):
>    firmware: stratix10-svc: handle NO_RESPONSE in async poll
>    firmware: stratix10-svc: fix teardown order in remove to prevent race
> 

Both patches applied!

Thanks,
Dinh