What does macOS kernel return 0xE00002EA (kIOReturnNoCompletion) mean?

 
Previous Next
kIOReturnDeviceError kIOReturnAborted

kIOReturnNoCompletion

An asynchronous-operation precondition

kIOReturnNoCompletion means that a completion routine is required. The status indicates that the selected API or mode expects a completion path through which the caller can be told that queued or asynchronous work has finished, failed, or been cancelled. It is a contract error, not a device timeout.

Adding a no-op callback merely to suppress the return value can lose ownership and cleanup information. The completion mechanism must match the interface’s lifetime rules: it may be responsible for releasing buffers, observing partial completion, scheduling the next request, or stopping work after removal. Verify the specific API’s callback and cancellation contract.

What to verify

  • Check whether the operation is synchronous or asynchronous for the selected interface and mode.
  • Provide the documented completion routine, context, and object lifetime management before queueing the request.
  • Ensure completion, cancellation, and removal paths all release request-owned resources exactly once.
  • Log whether the request reached the queue; a missing completion handler can be detected before device I/O begins.

References


Looking for a different code? Search another status or error code.