fas216_queu...and_internal(9)
π fas216_queue_command_internal(9) π
okay so bestie, we're in the Kernel API Manual today and the star of the show is fas216_queue_command_internal(9) β yes the header truncates it to fas216_queu...and_internal(9) but we know her full name and we're using it π
β¨ NAME β¨
fas216_queue_command_internal β queue a command for the adapter to process π
Like, literally just hand the adapter a command and let it cook. That's the whole gig. Iconic behaviour honestly.
πΈ SYNOPSIS πΈ
enum scsi_qc_status fas216_queue_command_internal (struct scsi_cmnd
*SCpnt , void (*done)(struct scsi_cmnd *) );
no cap, that's the whole signature β a struct scsi_cmnd *SCpnt and a done function pointer, and it hands you back an enum scsi_qc_status. Copy it exactly pls, don't be out here editing it π
π¦ ARGUMENTS π¦
SCpntβ the command to queue π«Ά this is the main character right here, the thing you actually want the adapter to go do.doneβ the done function to call once the command is complete β¨ like a little callback bestie that fires when it's all finished.
β DESCRIPTION β
Queue a command for the adapter to process. π
That's it, that's the vibe. You give it a command, the adapter gets it queued up. Simple, clean, slay.
π₯ RETURN π₯
0 on success, else error. π―
so like β zero means we ate, anything else means something went sideways. noted. π
π NOTES π
π¨ bestie read this one: io_request_lock is held, and interrupts are disabled.
Like, that's the situation you're walking into when this runs. Lock held, interrupts off. Don't be surprised, don't be weird about it, just know. π
π SEE ALSO π
Kernel file ./drivers/scsi/arm/fas216.c β and honestly the whole fas216 friend group showed up to the group chat:
fas216_get_last_msg(9)fas216_syncperiod(9)fas216_set_sync(9)fas216_handlesync(9)fas216_updateptrs(9)fas216_pio(9)fas216_cleanuptransfer(9)fas216_transfer(9)fas216_stoptransfer(9)fas216_reselected_intr(9)fas216_message(9)fas216_send_command(9)fas216_send_messageout(9)fas216_busservice_intr(9)fas216_funcdone_intr(9)fas216_intr(9)fas216_kick(9)fas216_rq_sns_done(9)fas216_std_done(9)fas216_done(9)fas216_internal_done(9)fas216_eh_abort(9)fas216_eh_device_reset(9)fas216_eh_bus_reset(9)fas216_init_chip(9)fas216_eh_host_reset(9)fas216_reset_state(9)fas216_init(9)fas216_add(9)fas216_release(9)
every single one, we don't leave the squad behind π«Άπ§
and that's the page!! mwah π this one lives over in ./drivers/scsi/arm and it's dated October 2026 β go off, king πβπ
π¦ 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