| Previous | Next |
| kIOFireWireChannelNotAvailable | kIOFireWireBadSelfIDs |
kIOFireWireSeparateBus
The intended participants do not share one usable bus context
kIOFireWireSeparateBus is a topology-context status in Apple's FireWire family. The name indicates that an operation which expects participating objects to belong to one bus cannot make that assumption. It is not an isochronous bandwidth result and it does not identify a malformed payload.
FireWire operations are scoped to a controller, node, and bus generation. A physical reconnect, reset, bridge topology, or use of objects from different controller contexts can invalidate an assumption that two references describe one current bus. Diagnostics should first establish topology and ownership before changing transfer parameters.
Prove the bus scope
- Record the host controller, local node, remote node, GUID, and current generation for every object used in the operation.
- Check whether references were obtained before a reset or from a different FireWire controller instance.
- Refresh topology and re-resolve device objects after a reset instead of combining cached node-specific state.
- Do not compensate by changing speed, channel, or payload length; those do not reconcile separate bus contexts.
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.