ipr_queuecommand(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

ipr_queuecommand(9) β€” queue a mid-layer request. Yep bestie, this is the Kernel API Manual page for that exact function, and it's giving β€œsmall function, big queue energy.” πŸ’…


🌸 SYNOPSIS 🌸

enum scsi_qc_status ipr_queuecommand (struct Scsi_Host *shost , struct scsi_cmnd *scsi_cmd );

πŸŽ€ ARGUMENTS πŸŽ€

  • shost β€” scsi host struct 🫢
  • scsi_cmd β€” scsi command struct ✨

πŸ¦‹ DESCRIPTION πŸ¦‹

This function queues a request generated by the mid-layer. That's the whole vibe: mid-layer request goes in, queueing happens. Iconic behavior, no notes. πŸ‘‘

Return value tea β˜•:

  • 0 on success πŸŽ‰
  • SCSI_MLQUEUE_DEVICE_BUSY if device is busy 😭
  • SCSI_MLQUEUE_HOST_BUSY if host is busy πŸ’€
Bestie, those busy statuses are not a β€œtry again never” situation in the page β€” they're literally the listed return values, so keep them exact. Periodt.

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/scsi/ipr.c β€” and okay, the ipr extended cinematic universe is fully listed below. Not me dropping every single reference, because we do not skip the boring parts in this group chat. πŸ’–

ipr_trc_hook(9), ipr_lock_and_done(9), ipr_reinit_ipr_cmnd(9), ipr_init_ipr_cmnd(9),
__ipr_get_free_ipr_cmnd(9), ipr_get_free_ipr_cmnd(9),
ipr_mask_and_clear_interrupts(9), ipr_save_pcix_cmd_reg(9),
ipr_set_pcix_cmd_reg(9), __ipr_scsi_eh_done(9), ipr_scsi_eh_done(9),
ipr_fail_all_ops(9), ipr_send_command(9), ipr_do_req(9),
ipr_internal_cmd_done(9), ipr_init_ioadl(9), ipr_send_blocking_cmd(9),
ipr_send_hcam(9), ipr_init_res_entry(9), ipr_is_same_device(9),
__ipr_format_res_path(9), ipr_format_res_path(9),
ipr_update_res_entry(9), ipr_clear_res_target(9),
ipr_handle_config_change(9), ipr_process_ccn(9), strip_whitespace(9),
ipr_log_vpd_compact(9), ipr_log_vpd(9), ipr_log_ext_vpd_compact(9),
ipr_log_ext_vpd(9), ipr_log_enhanced_cache_error(9),
ipr_log_cache_error(9), ipr_log_enhanced_config_error(9),
ipr_log_sis64_config_error(9), ipr_log_config_error(9),
ipr_log_enhanced_array_error(9), ipr_log_array_error(9),
ipr_log_hex_data(9), ipr_log_enhanced_dual_ioa_error(9),
ipr_log_dual_ioa_error(9), ipr_log_fabric_path(9),
ipr_log64_fabric_path(9), ipr_log_path_elem(9), ipr_log64_path_elem(9),
ipr_log_fabric_error(9), ipr_log_sis64_array_error(9),
ipr_log_sis64_fabric_error(9), ipr_log_sis64_service_required_error(9),
ipr_log_generic_error(9), ipr_log_sis64_device_error(9),
ipr_get_error(9), ipr_handle_log_data(9), ipr_process_error(9),
ipr_timeout(9), ipr_oper_timeout(9), ipr_find_ses_entry(9),
ipr_get_max_scsi_speed(9), ipr_wait_iodbg_ack(9),
ipr_get_sis64_dump_data_section(9), ipr_get_ldump_data_section(9),
ipr_sdt_copy(9), ipr_init_dump_entry_hdr(9), ipr_dump_ioa_type_data(9),
ipr_dump_version_data(9), ipr_dump_trace_data(9),
ipr_dump_location_data(9), ipr_get_ioa_dump(9), ipr_release_dump(9),
ipr_worker_thread(9), ipr_read_trace(9), ipr_show_fw_version(9),
ipr_show_log_level(9), ipr_store_log_level(9), ipr_store_diagnostics(9),
ipr_show_adapter_state(9), ipr_store_adapter_state(9),
ipr_store_reset_adapter(9), ipr_store_iopoll_weight(9),
ipr_alloc_ucode_buffer(9), ipr_free_ucode_buffer(9),
ipr_copy_ucode_buffer(9), ipr_build_ucode_ioadl64(9),
ipr_build_ucode_ioadl(9), ipr_update_ioa_ucode(9),
ipr_store_update_fw(9), ipr_show_fw_type(9), ipr_read_dump(9),
ipr_alloc_dump(9), ipr_free_dump(9), ipr_write_dump(9),
ipr_change_queue_depth(9), ipr_show_adapter_handle(9),
ipr_show_resource_path(9), ipr_show_device_id(9),
ipr_show_resource_type(9), ipr_show_raw_mode(9), ipr_store_raw_mode(9),
ipr_biosparam(9), ipr_find_starget(9), ipr_target_destroy(9),
ipr_find_sdev(9), ipr_sdev_destroy(9), ipr_sdev_configure(9),
ipr_sdev_init(9), ipr_match_lun(9), ipr_cmnd_is_free(9),
ipr_wait_for_ops(9), ipr_device_reset(9), __ipr_eh_dev_reset(9),
ipr_bus_reset_done(9), ipr_abort_timeout(9), ipr_cancel_op(9),
ipr_scan_finished(9), ipr_eh_abort(9), ipr_handle_other_interrupt(9),
ipr_isr_eh(9), ipr_isr(9), ipr_isr_mhrrq(9), ipr_build_ioadl64(9),
ipr_build_ioadl(9), __ipr_erp_done(9), ipr_erp_done(9),
ipr_reinit_ipr_cmnd_for_erp(9), __ipr_erp_request_sense(9),
ipr_erp_request_sense(9), ipr_erp_cancel_all(9), ipr_dump_ioasa(9),
ipr_gen_sense(9), ipr_get_autosense(9), ipr_erp_start(9),
ipr_scsi_done(9), ipr_ioa_info(9), ipr_ioa_bringdown_done(9),
ipr_ioa_reset_done(9), ipr_set_sup_dev_dflt(9),
ipr_set_supported_devs(9), ipr_get_mode_page(9),
ipr_check_term_power(9), ipr_scsi_bus_speed_limit(9),
ipr_modify_ioafp_mode_page_28(9), ipr_build_mode_select(9),
ipr_ioafp_mode_select_page28(9), ipr_build_mode_sense(9),
ipr_reset_cmd_failed(9), ipr_reset_mode_sense_failed(9),
ipr_ioafp_mode_sense_page28(9), ipr_ioafp_mode_select_page24(9),
ipr_reset_mode_sense_page24_failed(9), ipr_ioafp_mode_sense_page24(9),
ipr_init_res_table(9), ipr_ioafp_query_ioa_cfg(9),
ipr_ioafp_set_caching_parameters(9), ipr_ioafp_inquiry(9),
ipr_inquiry_page_supported(9), ipr_ioafp_pageC4_inquiry(9),
ipr_ioafp_cap_inquiry(9), ipr_ioafp_page3_inquiry(9),
ipr_ioafp_page0_inquiry(9), ipr_ioafp_std_inquiry(9),
ipr_ioafp_identify_hrrq(9), ipr_reset_timer_done(9),
ipr_reset_start_timer(9), ipr_init_ioa_mem(9), ipr_reset_next_stage(9),
ipr_reset_enable_ioa(9), ipr_reset_wait_for_dump(9),
ipr_unit_check_no_data(9), ipr_get_unit_check_buffer(9),
ipr_reset_get_unit_check_job(9), ipr_set_affinity_nobalance(9),
ipr_reset_restore_cfg_space(9), ipr_reset_bist_done(9),
ipr_reset_start_bist(9), ipr_reset_slot_reset_done(9),
ipr_reset_reset_work(9), ipr_reset_slot_reset(9),
ipr_reset_block_config_access_wait(9), ipr_reset_block_config_access(9),
ipr_reset_allowed(9), ipr_reset_wait_to_start_bist(9),
ipr_reset_alert(9), ipr_reset_quiesce_done(9),
ipr_reset_cancel_hcam_done(9), ipr_reset_cancel_hcam(9),
ipr_reset_ucode_download_done(9), ipr_reset_ucode_download(9),
ipr_reset_shutdown_ioa(9), ipr_reset_ioa_job(9),
_ipr_initiate_ioa_reset(9), ipr_initiate_ioa_reset(9),
ipr_reset_freeze(9), ipr_pci_mmio_enabled(9), ipr_pci_frozen(9),
ipr_pci_slot_reset(9), ipr_pci_perm_failure(9),
ipr_pci_error_detected(9), ipr_probe_ioa_part2(9), ipr_free_cmd_blks(9),
ipr_free_mem(9), ipr_free_irqs(9), ipr_free_all_resources(9),
ipr_alloc_cmd_blks(9), ipr_alloc_mem(9), ipr_initialize_bus_attr(9),
ipr_init_regs(9), ipr_init_ioa_cfg(9), ipr_get_chip_info(9),
ipr_wait_for_pci_err_recovery(9), ipr_test_intr(9), ipr_test_msi(9),
ipr_initiate_ioa_bringdown(9), __ipr_remove(9), ipr_remove(9),
ipr_probe(9), ipr_shutdown(9), ipr_halt_done(9), ipr_halt(9),
ipr_init(9), ipr_exit(9)

source/version vibes: ./drivers/scsi β€’ date: October 2026 β€’ title: ipr_queuecommand(9) β€” mwah, stay queued bestie πŸ’‹πŸŽ€

πŸ“¦ where this page comes from