STRUCT IPA_QMI(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct ipa_qmi(9) ✨

okay bestie, so this is a page from the Kernel API Manual and it's literally all about struct ipa_qmi β€” the QMI state that's associated with an IPA. no cap, that's the whole vibe check. it's giving "glue struct that holds all the QMI bookkeeping for one IPA" and honestly we're obsessed πŸ’…


🌸 SYNOPSIS 🌸

struct ipa_qmi {
    struct qmi_handle client_handle;
    struct qmi_handle server_handle;
    struct sockaddr_qrtr modem_sq;
    struct work_struct init_driver_work;
    bool initial_boot;
    bool uc_ready;
    bool modem_ready;
    bool indication_requested;
    bool indication_sent;
 };

bestie look at that struct, it's so clean ✨ every single field is right there and we're gonna go through every one of them fr fr πŸ‘‘


πŸŽ€ Members πŸŽ€

  • client_handle β€” this one is used to send QMI requests to the modem. it's your outgoing-call energy πŸ“ž
  • server_handle β€” and this one is used to handle QMI requests coming from the modem. it's the one picking up the phone on the other side 🫢
  • modem_sq β€” the QMAP socket address for the modem's QMI server. literally the address book entry so you know where the modem lives πŸ—ΊοΈ
  • init_driver_work β€” a work structure used for INIT_DRIVER message handling. the little worker bee that gets scheduled when that message shows up 🐝
  • initial_boot β€” True if the first boot has not yet completed. yes, it's a bool that means the opposite of its name, that's just how it is, we don't make the rules πŸ™ˆ
  • uc_ready β€” True once the DRIVER_INIT_COMPLETE request has been received. slay, the microcontroller is ready πŸ’œ
  • modem_ready β€” True when the INIT_DRIVER response has been received. modem said "i'm here" and we logged it πŸ”₯
  • indication_requested β€” True when the INDICATION_REGISTER request has been received. someone asked for indications, noted πŸ“
  • indication_sent β€” True when the INIT_COMPLETE indication has been sent. we did the thing, periodt βœ…
ok quick note: those four bools are the whole handshake storyline, and each one flips at a very specific moment β€” don't go flipping them yourself unless you know exactly which message triggers them, iykyk πŸ’€

🌈 SEE ALSO 🌈

those last two are the main character setup/teardown duo and you will be reading them next, no escaping it πŸ¦‹


and that's the page bestie!! πŸŽ€ it lives in ./drivers/net/ipa, this version is dated October 2026, and it's part of that good good Kernel API Manual energy. go forth and be iconic with your QMI state πŸ‘‘πŸ’–πŸŒŸ

πŸ“¦ where this page comes from