Thank you. This resolves the normal Stop path, asynchronous cleanup pattern, Cancel-success expectation, and provider-owned work model.
We have a corrected lifecycle, but one blocker remains with one remaining clarification from question 3:
Does the public IOService::Stop phase-2/provider-validity guidance also apply when the provider is already inactive or the DriverKit user server has slept?
In those cases, is the driver’s public Stop override still guaranteed to be invoked, with the provider remaining valid until the driver’s asynchronous cancellation callback calls super::Stop?
I am asking only which public lifecycle guarantee the driver may rely on, not how any private framework entry point is implemented.
Topic:
App & System Services
SubTopic:
Drivers
Tags: