pmcraid_cancel_hcam(9)
π pmcraid_cancel_hcam π
okay so this is the <pink>pmcraid_cancel_hcam(9)</pink> page from the Kernel API Manual β yes bestie, we're in kernel-doc territory, grab a matcha π. It's one little function with one big job, and the SEE ALSO section is genuinely a whole friend group, so buckle up.
β¨ NAME β¨
pmcraid_cancel_hcam β sends ABORT task to abort a given HCAM π
like, it literally taps the adapter on the shoulder and is like "hey, that HCAM? yeah, abort it" and the ABORT task gets sent. iconic behavior honestly.
πΈ SYNOPSIS πΈ
void pmcraid_cancel_hcam (struct pmcraid_cmd *cmd , u8 type , void
(*cmd_done) (struct pmcraid_cmd *) );
no return value, it just does the thing and dips. that's main character energy fr. β¨
π¦ ARGUMENTS π¦
cmdβ the command that gets used as the cancelling command. so it's the one doing the cancelling, not the one getting cancelled β don't get it twisted π«Άtypeβ the HCAM type. it's au8, so like, one byte of "which kind of HCAM are we talking about here" energy.cmd_doneβ the op done function for the cancelling command. this is the callback that runs when the cancelling command is done, i.e. it'svoid (*cmd_done) (struct pmcraid_cmd *)and yes the signature is exactly that, keep it cute, keep it exact π
ngl the callback signature is not something you wanna freestyle β it's void (*)(struct pmcraid_cmd *) and the kernel will absolutely notice if you get it wrong π
π SEE ALSO π
it lives in the kernel file ./drivers/scsi/pmcraid.c β and bestie, the pmcraid family is huge, so here's the whole group chat, every single one, no cap π
pmcraid_sdev_init(9)pmcraid_sdev_configure(9)pmcraid_sdev_destroy(9)pmcraid_change_queue_depth(9)pmcraid_init_cmdblk(9)pmcraid_reinit_cmdblk(9)pmcraid_get_free_cmd(9)pmcraid_return_cmd(9)pmcraid_read_interrupts(9)pmcraid_disable_interrupts(9)pmcraid_enable_interrupts(9)pmcraid_clr_trans_op(9)pmcraid_reset_type(9)pmcraid_bist_done(9)pmcraid_start_bist(9)pmcraid_reset_alert_done(9)pmcraid_reset_alert(9)pmcraid_timeout_handler(9)pmcraid_internal_done(9)pmcraid_reinit_cfgtable_done(9)pmcraid_erp_done(9)_pmcraid_fire_command(9)pmcraid_send_cmd(9)pmcraid_ioa_shutdown_done(9)pmcraid_ioa_shutdown(9)pmcraid_get_fwversion_done(9)pmcraid_get_fwversion(9)pmcraid_identify_hrrq(9)pmcraid_send_hcam_cmd(9)pmcraid_init_hcam(9)pmcraid_send_hcam(9)pmcraid_prepare_cancel_cmd(9)pmcraid_cancel_ccn(9)pmcraid_cancel_ldn(9)pmcraid_expose_resource(9)pmcraid_netlink_init(9)pmcraid_netlink_release(9)pmcraid_notify_ccn(9)pmcraid_notify_ldn(9)pmcraid_notify_ioastate(9)pmcraid_handle_config_change(9)pmcraid_get_error_info(9)pmcraid_ioasc_logger(9)pmcraid_handle_error_log(9)pmcraid_process_ccn(9)pmcraid_process_ldn(9)pmcraid_register_hcams(9)pmcraid_unregister_hcams(9)pmcraid_reset_enable_ioa(9)pmcraid_soft_reset(9)pmcraid_get_dump(9)pmcraid_fail_outstanding_cmds(9)pmcraid_ioa_reset(9)pmcraid_initiate_reset(9)pmcraid_reset_reload(9)pmcraid_reset_bringdown(9)pmcraid_reset_bringup(9)pmcraid_request_sense(9)pmcraid_cancel_all(9)pmcraid_frame_auto_sense(9)pmcraid_error_handler(9)pmcraid_reset_device(9)_pmcraid_io_done(9)pmcraid_io_done(9)pmcraid_abort_cmd(9)pmcraid_abort_complete(9)pmcraid_eh_abort_handler(9)pmcraid_eh_device_reset_handler(9)pmcraid_eh_host_reset_handler(9)pmcraid_init_ioadls(9)pmcraid_build_ioadl(9)pmcraid_queuecommand_lck(9)pmcraid_ioctl_driver(9)pmcraid_check_ioctl_buffer(9)pmcraid_show_log_level(9)pmcraid_store_log_level(9)pmcraid_show_drv_version(9)pmcraid_show_adapter_id(9)pmcraid_isr(9)pmcraid_worker_function(9)pmcraid_tasklet_function(9)pmcraid_unregister_interrupt_handler(9)pmcraid_register_interrupt_handler(9)pmcraid_release_cmd_blocks(9)pmcraid_release_control_blocks(9)pmcraid_allocate_cmd_blocks(9)pmcraid_allocate_control_blocks(9)pmcraid_release_host_rrqs(9)pmcraid_allocate_host_rrqs(9)pmcraid_release_hcams(9)pmcraid_allocate_hcams(9)pmcraid_release_config_buffers(9)pmcraid_allocate_config_buffers(9)pmcraid_init_tasklets(9)pmcraid_kill_tasklets(9)pmcraid_release_buffers(9)pmcraid_init_buffers(9)pmcraid_reinit_buffers(9)pmcraid_init_instance(9)pmcraid_shutdown(9)pmcraid_setup_chrdev(9)pmcraid_release_chrdev(9)pmcraid_remove(9)pmcraid_suspend(9)pmcraid_resume(9)pmcraid_complete_ioa_reset(9)pmcraid_set_supported_devs(9)pmcraid_set_timestamp(9)pmcraid_init_res_table(9)pmcraid_querycfg(9)pmcraid_probe(9)pmcraid_init(9)pmcraid_exit(9)
and that's the whole page bestie, every flag, every arg, every single SEE ALSO, nothing skipped π
okay and the cute little sign-off: this one's from ./drivers/scsi, dated October 2026, and it's page pmcraid_cancel_hcam(9) β go read the others, iykyk π
π
π¦ 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