ipr_send_blocking_cmd(9)
π ipr_send_blocking_cmd(9) π
okay so welcome to the Kernel API Manual corner of the group chat, bestie. This page is all about the function named ipr_send_blocking_cmd, and it is lowkey giving βdo the thing, then nap until itβs done.β π€
πΈ NAME πΈ
ipr_send_blocking_cmd β send a command and sleep on its completion. Thatβs the whole vibe: send the command, then snooze until it finishes. No cap. π΄β¨
β¨ SYNOPSIS β¨
void ipr_send_blocking_cmd (struct ipr_cmnd *ipr_cmd , void
(*timeout_func) (struct timer_list *) , u32 timeout );
Keep the commas, spaces, and line break exactly as they are, bestie. Character-for-character slay. π
π ARGUMENTS π
ipr_cmdβ the ipr command struct. Thatβs the command object in question, and yes, itβs the main character here. πtimeout_funcβ the function to invoke if the command times out. So if things go sideways, this is the callback that gets called. π«Άtimeoutβ the timeout. Thatβs literally the description in the original, and the synopsis types it asu32. No extra lore, no invented units, justtimeout. β³
π DESCRIPTION π
Return value: none. Itβs a void situation. Nothing gets returned, so donβt go looking for a little gift at the end. πβ
π¦ SEE ALSO π¦
Kernel file ./drivers/scsi/ipr.c is the home base, and the whole (9) friend group is:
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_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_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)
Thatβs the whole page, bestie. Footer details for the record: source ./drivers/scsi, date October 2026, page ipr_send_blocking_cmd(9). Mwah πβ¨
π¦ 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