ENUM I3C_ERROR_CODE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ enum i3c_error_code(9) β€” the Kernel API Manual, bestie edition

okay so this is enum i3c_error_code(9) from the Kernel API Manual and honestly? it's a tiny one and it ate. it's literally just the I3C error codes, and if you've ever gotten a vague -EIO back from an I3C transfer and been like "😭 what does that even mean", this is the page for you. let's go πŸ’…


✨ NAME ✨

enum i3c_error_code β€” I3C error codes, that's it, that's the whole vibe πŸŽ€


🌸 SYNOPSIS 🌸

enum i3c_error_code {
    I3C_ERROR_UNKNOWN ,
    I3C_ERROR_M0 ,
    I3C_ERROR_M1 ,
    I3C_ERROR_M2

};

that's the whole enum. four little guys. no cap. 🫢


πŸ’– Constants πŸ’–

  • I3C_ERROR_UNKNOWN β€” unknown error, and usually that means the error isn't even I3C related 😭 so like, wrong department bestie
  • I3C_ERROR_M0 β€” M0 error
  • I3C_ERROR_M1 β€” M1 error
  • I3C_ERROR_M2 β€” M2 error

πŸ”₯ Description πŸ”₯

these are the standard error codes as defined by the I3C specification ✨ iconic of it.

so here's the tea: when -EIO is returned by the i3c_device_do_i3c_xfers or i3c_device_send_hdr_cmds one can check the error code in struct_i3c_xfer.err or struct i3c_hdr_cmd.err to get a better idea of what went wrong πŸ‘‘

ok so lowkey the move is: don't just stare at -EIO like πŸ™ˆ β€” go look in that .err field, it's giving you actual answers. main character debugging energy fr fr.

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./include/linux/i3c/device.h plus the whole friend group πŸ’œ

go read them, iykyk πŸ“šβœ¨


aaaand that's the page!! πŸŽ€ source/version: ./include/linux/i3c, dated October 2026 β€” mwah, bye bestie, go slay those I3C transfers πŸ’…πŸ’–πŸŒˆ

πŸ“¦ where this page comes from