| Previous | Next |
| kIOFireWireCompleting | kIOFireWireIsochBandwidthNotAvailable |
kIOFireWireInvalidResponseLength
A response arrived with an unusable size
kIOFireWireInvalidResponseLength is more specific than a generic transport failure: the FireWire-family code received or processed a response whose length was not valid for the operation. The relevant comparison is between the operation's expected response form and the actual received length, along with the transaction code and command context.
Do not collapse this into a generic buffer-overrun diagnosis. The response may be shorter or longer than expected, and the correct action depends on whether the protocol allows variable payloads, whether the request was constructed with the correct tcode and address space, and whether the response was associated with the intended generation.
Preserve both sides of the contract
- Log expected length, actual length, tcode, destination node, address/offset, bus generation, and any payload header available.
- Check that the request was built for the correct remote unit and address-space operation.
- Verify buffer bounds before inspecting response data; do not parse a payload merely because some bytes were returned.
- Differentiate a malformed or unexpected response size from a bus reset, which is separately represented by
kIOFireWireBusReset.
References
- Apple: IOFireWireFamilyCommon.h
- Apple: IOFireWireDeviceInterface
- Linux kernel: FireWire driver interface guide
Looking for a different code? Search another status or error code.