| Previous | Next |
| kIOReturnInvalid | kIOReturnNoMemory |
kIOReturnError
A deliberately broad failure result
kIOReturnError is the common IOKit “general error” result. It confirms that the requested operation did not complete successfully, but it does not identify whether the relevant problem concerns a device, a transport, a privilege check, a buffer, or a service lifecycle transition. The code must therefore be interpreted with the operation that returned it.
Do not treat this value as proof that hardware is faulty. A driver or user client can use a broad result after a more specific lower-level condition has already been discarded. Preserve lower-level diagnostics, subsystem logs, and the exact API call; otherwise the distinction between kIOReturnError, kIOReturnInternalError, and kIOReturnIOError is lost at the application boundary.
How to make the result actionable
- Record the service or interface, operation name, parameters that are safe to log, and any earlier status returned by the same request.
- Check whether the failure happens before I/O is queued, while a request is in flight, or during completion or teardown.
- Use an API-specific diagnostic path instead of retrying a general error without knowing whether the operation is safe to repeat.
- Keep this condition distinct from permission, unsupported-operation, and no-device handling in application logic.
References
Looking for a different code? Search another status or error code.