| Previous | Next |
| kIOFireWireTalkingAndListening | kIOFireWireCompleting |
kIOFireWireHardwareSlept
The controller is not in an active I/O state
kIOFireWireHardwareSlept reports that FireWire hardware entered sleep. It is a controller power-state condition, not a remote-node protocol response. Any in-flight work may also be affected by bus reset, device re-enumeration, or callback ordering when the hardware resumes.
The important boundary is between work that was completed before sleep and work whose completion state became uncertain. A resume sequence should restore controller and topology state through the owning API rather than assuming that cached node IDs, registered contexts, or resource allocations remain valid.
Correlate power and I/O state
- Record sleep/wake timing, controller identity, open clients, outstanding requests, and all reset or topology events around the transition.
- Quiesce submissions before teardown when the API supports it, and distinguish explicitly cancelled requests from requests interrupted by sleep.
- On resume, confirm the current bus generation and target-device identity before reusing work contexts.
- Do not treat a resume as proof that an interrupted transaction completed or failed at the remote device.
References
- Apple: IOFireWireFamilyCommon.h
- Apple: BusReset callback
- Linux kernel: FireWire reset, generation, and Configuration ROM
Looking for a different code? Search another status or error code.