Site icon EfmSoft

What does macOS kernel return 0xE0004047 (kIOUSBDevicePortWasNotSuspended) mean?

 
Previous Next
kIOUSBEndpointCountExceeded kIOUSBClearPipeStallNotRecursive

kIOUSBDevicePortWasNotSuspended

A power-state precondition was false

kIOUSBDevicePortWasNotSuspended means that an operation which expected the device port to be in suspend state found it active. It is a port-state mismatch, not proof that the device is malfunctioning. The distinction matters because the opposite status, kIOUSBPortWasSuspended, is returned when an existing transfer is sent back because suspension occurred.

USB power management changes the conditions under which transactions can be queued or resumed. A request that races with resume, hub activity, or a controller state transition can observe a different port state than the caller assumed. The trace should therefore include the state transition, not just the final USB return value.

Verify the state transition

References


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

Exit mobile version