What does macOS kernel return 0xE00002D4 (kIOReturnDMAError) mean?

 
Previous Next
kIOReturnRLDError kIOReturnBusy

kIOReturnDMAError

This is a DMA-path result, not a generic memory shortage

kIOReturnDMAError is an IOKit return value for a failure in the DMA path. DMA transfers are prepared through a driver stack that describes memory for a device and may create hardware-specific segments or descriptors. The code does not, by itself, say whether the fault occurred while preparing the buffer, programming the device, or completing the transfer; that distinction belongs to the IOKit family and driver that returned it.

Do not treat this as interchangeable with kIOReturnNoMemory, kIOReturnNoResources, or kIOReturnNotAligned. Those statuses describe different conditions. A failed DMA operation can leave a transfer only partly completed, so retrying a write without knowing the device protocol can duplicate or corrupt data.

What to capture before retrying

  • Identify the IOKit family, device registry entry, active interface or mode, operation direction, requested length, and offset.
  • Preserve the driver and kernel log entries from the same time window; the symbolic IOReturn value is only the final status presented to the caller.
  • Check whether the caller released, remapped, or modified the buffer before asynchronous completion.
  • For a recoverable device protocol, cancel or drain outstanding work, reset the relevant queue as documented by that family, and reopen the device before submitting new work.

References


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