pci_doe_submit_task(9)
π
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 π
- Kernel file
./drivers/pci/doe.c struct pci_doe_mb(9)struct pci_doe_task(9)pci_doe_create_mb(9)pci_doe_destroy_mb(9)pci_doe_supports_feat(9)pci_doe(9)pci_find_doe_mailbox(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms