mpi3mr_bsg_pel_enable(9)
π mpi3mr_bsg_pel_enable β the PEL-enable handler bestie β¨
okay so real talk, this is a page from the Kernel API Manual, and it's about one very specific little function. buckle up, it's short but she's cute π
πΈ NAME πΈ
mpi3mr_bsg_pel_enable β the handler for the PEL enable driver. that's literally her whole job. main character energy, no notes π
β¨ SYNOPSIS β¨
long mpi3mr_bsg_pel_enable (struct mpi3mr_ioc *mrioc , struct bsg_job
*job );
she takes two things and she returns a long. that's it, that's the vibe π¦
π«Ά ARGUMENTS π«Ά
mriocβ your adapter instance reference, aka the whole controller baddie you're talking to πjobβ the BSG job pointer. yes, the job. she's pointing at it. respect her π
π DESCRIPTION π
okay so this function is the handler for PEL enable driver β literally that's the whole thing, she's the handler β¨
what she does, in order, no skipping:
- she validates the application given class and locale β like a little bouncer at the door, checking IDs π
- and if it's required, she aborts the existing PEL wait request β bye bestie π
- and/or she issues a new PEL wait request to the firmware β hi new bestie π
- and then she returns π«‘
so it's giving "check the vibes, maybe clean up the old request, maybe post a fresh one, and dip" β and honestly? iconic π
π₯ RETURN π₯
0on success π- proper error codes on failure π
that's the whole return situation, no cap.
πΌ SEE ALSO πΌ
the kernel file she lives in:
./drivers/scsi/mpi3mr/mpi3mr_app.c
and her whole friend group (they're all (9)s, iykyk):
mpi3mr_alloc_trace_buffer(9)mpi3mr_alloc_diag_bufs(9)mpi3mr_issue_diag_buf_post(9)mpi3mr_post_diag_bufs(9)mpi3mr_issue_diag_buf_release(9)mpi3mr_process_trigger(9)mpi3mr_global_trigger(9)mpi3mr_scsisense_trigger(9)mpi3mr_event_trigger(9)mpi3mr_reply_trigger(9)mpi3mr_get_num_trigger(9)mpi3mr_refresh_trigger(9)mpi3mr_release_diag_bufs(9)mpi3mr_set_trigger_data_in_hdb(9)mpi3mr_set_trigger_data_in_all_hdb(9)mpi3mr_hdbstatuschg_evt_th(9)mpi3mr_diag_buffer_for_type(9)mpi3mr_bsg_pel_abort(9)mpi3mr_bsg_verify_adapter(9)mpi3mr_bsg_refresh_hdb_triggers(9)mpi3mr_bsg_upload_hdb(9)mpi3mr_bsg_repost_hdb(9)mpi3mr_bsg_query_hdb(9)mpi3mr_enable_logdata(9)mpi3mr_get_logdata(9)mpi3mr_get_all_tgt_info(9)mpi3mr_get_change_count(9)mpi3mr_bsg_adp_reset(9)mpi3mr_bsg_populate_adpinfo(9)mpi3mr_bsg_process_drv_cmds(9)mpi3mr_total_num_ioctl_sges(9)mpi3mr_bsg_build_sgl(9)mpi3mr_get_nvme_data_fmt(9)mpi3mr_build_nvme_sgl(9)mpi3mr_build_nvme_prp(9)mpi3mr_map_data_buffer_dma(9)mpi3mr_bsg_process_mpt_cmds(9)mpi3mr_app_save_logdata_th(9)mpi3mr_bsg_request(9)mpi3mr_bsg_exit(9)mpi3mr_bsg_node_release(9)mpi3mr_bsg_init(9)version_fw_show(9)fw_queue_depth_show(9)op_req_q_count_show(9)reply_queue_count_show(9)reply_qfull_count_show(9)logging_level_show(9)logging_level_store(9)adp_state_show(9)fwfault_count_show(9)sas_address_show(9)device_handle_show(9)persistent_id_show(9)sas_ncq_prio_supported_show(9)sas_ncq_prio_enable_show(9)
like, that's a whole squad right there fr fr π
π§ sign-off π§
this little love letter lives in ./drivers/scsi/mpi3mr and it's dated October 2026 β so mark your calendar bestie, she's from the future βπ¦π
π¦ 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