dc395x_queue_command_lck(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… dc395x_queue_command_lck πŸ’…

okay bestie, welcome to the dc395x_queue_command_lck(9) page from the Kernel API Manual β€” literally the group chat for queueing an SCSI command and handling that completion callback. no cap, niche but iconic. 🫢

✨ NAME ✨

dc395x_queue_command_lck β€” queue scsi command passed from the mid layer, invoke 'done' on completion. periodt. πŸ’–

🌸 SYNOPSIS 🌸

enum scsi_qc_status dc395x_queue_command_lck (struct scsi_cmnd *cmd );

πŸŽ€ ARGUMENTS πŸŽ€

  • cmd β€” pointer to scsi command object. that’s the whole argument list, bestie.

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the vibe check here: this returns 1 if the adapter (host) is busy, and returns 0 otherwise. one very real reason the adapter can be busy is that the number of outstanding queued commands is already equal to struct Scsi_Host::can_queue β€” like the outstanding count has hit that can_queue number, no cap. 😭

Required: if struct Scsi_Host::can_queue is ever non-zero, then this function is required. not optional, bestie β€” that’s the rule.

Locks: struct Scsi_Host::host_lock is held on entry (with "irqsave") and is expected to be held on return. do not let go of that lock on the way out, fr fr. πŸ’…

🌈 SEE ALSO 🌈

Kernel file ./drivers/scsi/dc395x.c is the home base, and the whole see-also crew in order is:


kisses, bestie 🫢 this page’s source/version is ./drivers/scsi, dated October 2026, and it’s the dc395x_queue_command_lck(9) manual moment. slay and stay locked πŸ’…βœ¨

πŸ“¦ where this page comes from