pci_doe_submit_task(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… pci_doe_submit_task β€” kernel API manual, bestie edition πŸŽ€

Okay so this one lives in the Kernel API Manual, and honestly? It's giving "small function, big responsibilities." Let's get into it ✨


🌸 NAME 🌸

pci_doe_submit_task β€” submit a task to be processed by the state machine 🧚


πŸ¦‹ SYNOPSIS πŸ¦‹

int pci_doe_submit_task (struct pci_doe_mb *doe_mb , struct pci_doe_task
*task );

πŸ’œ ARGUMENTS πŸ’œ

  • doe_mb β€” the DOE mailbox capability you're submitting to. Like, the destination, the vibe, the whole point πŸ“¬
  • task β€” the task you're queuing up. This is the thing that's gonna go do the thing.

✨ DESCRIPTION ✨

So what this does is: you submit a DOE task (request/response, the whole combo) to the DOE mailbox, and it gets processed. The function returns as soon as the task object is queued up β€” it's not waiting around for the whole thing to finish, no cap. πŸ’…

But β€” and this is the important bit β€” if the queue is full, this function will sleep until there's room in the queue. Not "return an error," not "spin," it straight up naps 😴 So like, don't call it somewhere where sleeping is illegal, iykyk.

task->complete will be called when the state machine is done processing this task. That's your callback, your moment, your main character energy πŸ‘‘

⚠️ task must be allocated on the stack. Fr fr, this is not optional. Heap-allocated tasks? Not the move, bestie. 🫢

Also: excess data will be discarded. If you're sending more than fits, the extra just gets dropped. Gone. Not invited to the party πŸ’€


πŸ”₯ RETURN πŸ”₯

  • 0 β€” when the task has been successfully queued πŸŽ‰
  • -ERRNO β€” on error 😭

🌈 SEE ALSO 🌈


And that's the whole page, bestie πŸ“ It ships out of ./drivers/pci, dated October 2026, and it's the pci_doe_submit_task(9) page β€” go queue something iconic πŸ’–βœ¨

πŸ“¦ where this page comes from