PROBE AND REMOVE FROM MEI BUS DRIVER(9)
π NAME π
Probe and remove from mei bus driver β like, section 9 of the Kernel API Manual, bestie π«Ά
β¨ DESCRIPTION β¨
okay so picture this: when the mei bus driver is out here enumerating its devices, it calls iwlmei's probe function, and that probe function sends the SAP_ME_MSG_START message. cute, right? π
Here's the little plot twist though β the probe completes before the response (SAP_ME_MSG_START_OK) even shows up. Rude? Maybe. Iconic? Also yes. That response gets handled by the Rx path instead, and once it finally arrives, the connection to the CSME firmware is officially considered established, and iwlwifi's requests can be treated against the CSME firmware. slay π
β¨
Then we get to the removal era π β when the mei bus driver removes the device, iwlmei literally loses all the data that was attached to the mei client device. gone. poof. It clears the global pointer to the mei client device since it's not available anymore. And because of that, all the requests coming from iwlwifi end up being cached. π«
And ngl, this whole flow takes the global mutex so it stays synchronized with all the requests coming from iwlwifi. no cap, that's the whole vibe of it π₯
π¦ SEE ALSO π¦
The kernel file is right here bestie, go read it:
./drivers/net/wireless/intel/iwlwifi/mei/iwl-mei.h
and here's the whole friend group, every single one of them π:
Introduction(9)Life cycle(9)Memory layout(9)Concurrency(9)Driver load when CSME owns the device(9)CSME behavior regarding the ownership requests(9)Driver load when CSME is associated and a session is active(9)Datapath(9)enum iwl_mei_nvm_caps(9)struct iwl_mei_nvm(9)enum iwl_mei_pairwise_cipher(9)enum iwl_mei_akm_auth(9)struct iwl_mei_conn_info(9)struct iwl_mei_colloc_info(9)enum iwl_mei_sap_version(9)iwl_mei_is_connected(9)iwl_mei_get_nvm(9)iwl_mei_get_ownership(9)iwl_mei_set_rfkill_state(9)iwl_mei_set_nic_info(9)iwl_mei_set_country_code(9)iwl_mei_set_power_limit(9)iwl_mei_register(9)iwl_mei_start_unregister(9)iwl_mei_unregister_complete(9)iwl_mei_set_netdev(9)iwl_mei_tx_copy_to_csme(9)iwl_mei_host_associated(9)iwl_mei_host_disassociated(9)iwl_mei_device_state(9)iwl_mei_pldr_req(9)iwl_mei_alive_notif(9)
lowkey a whole saga and it's all in one header file π
and that's a wrap, bestie π mwah π
source: ./drivers/net/wireless/intel/i... Β· dated October 2026 Β· manual page Probe and re...i bus driver(9) β go off, kernel docs πβ
π¦ 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