ipr_send_hcam(9)
π ipr_send_hcam(9) β the send-an-HCAM glow-up β¨
okay bestie, welcome to the Kernel API Manual page for ipr_send_hcam(9). yes the title is literally the function name, we're being efficient today π
π NAME π
ipr_send_hcam β send an HCAM to the adapter. that's it. that's the whole name. iconic brevity π
β¨ SYNOPSIS β¨
void ipr_send_hcam (struct ipr_ioa_cfg *ioa_cfg , u8 type , struct
ipr_hostrcb *hostrcb );
note that it returns void β nothing comes back, no receipts, no nothing π«Ά
πΈ ARGUMENTS πΈ
ioa_cfgβ the ioa config struct. yep. that's the whole description, we're keeping it real πtypeβ the HCAM type. the vibe of the HCAM, if you will β¨hostrcbβ the hostrcb struct. the actual cargo. the main character π¦π
π¦ DESCRIPTION π¦
okay so literally what this does: it sends a Host Controlled Async command to the adapter. that's the whole mission. no cap. π₯
and here's the little plot twist β if HCAMs are currently not allowed to be issued to the adapter, it doesn't just cry about it. it places the hostrcb on the free queue instead. patient queen behavior. it waits its turn π
β¨
fr fr: "If HCAMs are currently not allowed to be issued to the adapter, it will place the hostrcb on the free queue." β that's the actual rule, don't sleep on it π
Return value: none. literally none. void. empty. the function gives you nothing back and honestly? relatable ππ«Ά
π SEE ALSO π
okay this list is long long, like a group chat after a drama, but every single one of these is here because they're all in Kernel file ./drivers/scsi/ipr.c and they all deserve their mention. slay π
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_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_queuecommand(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)
and that's the whole page, bestie, you ate that πβ¨
cute little sign-off π β this one lives under./drivers/scsi, stamped October 2026, and it'sipr_send_hcam(9)through and through. go forth and send your HCAMs responsibly π§ββοΈπ
π¦ 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