ENUM IWL_RX_HANDLER_CONTEXT(9)
π NAME
enum iwl_rx_handler_context β bestie, this is literally the context for an Rx handler π¦ like, it tells you where and how your handler gets called, and honestly? that's the whole vibe.
β¨ SYNOPSIS β¨
enum iwl_rx_handler_context {
RX_HANDLER_SYNC ,
RX_HANDLER_ASYNC_LOCKED ,
RX_HANDLER_ASYNC_UNLOCKED ,
RX_HANDLER_ASYNC_LOCKED_WIPHY
};
π Constants π
okay so these are the four flavors of context, and picking the wrong one is not the move, so let's go one by one π
RX_HANDLER_SYNCβ this means it will be called in the Rx path, which can't acquiremvm->mutex. no mutex for you, periodt πRX_HANDLER_ASYNC_LOCKEDβ if the handler needs to holdmvm->mutex, and only in this case (!), it should be set as ASYNC. in that case it'll be called from a worker withmvm->mutexheld. she's locked in πβ¨RX_HANDLER_ASYNC_UNLOCKEDβ in case the handler needs to lock the mutex itself, it will be called from a worker withoutmvm->mutexheld. you're on your own for the locking, bestie, good luck π«ΆRX_HANDLER_ASYNC_LOCKED_WIPHYβ if the handler needs to hold the wiphy lock andmvm->mutex. this one gets handled with thewiphy_workqueue infra instead of the regular work queue. fancy π«
π SEE ALSO π
Kernel file ./drivers/net/wireless/intel/iwlwifi/mvm/ops.cstruct iwl_rx_handlers(9)
k that's the whole page, no cap π this came straight out of ./drivers/net/wireless/intel/i..., dated October 2026, and yes the page is literally called enum iwl_rx_handler_context(9) β iconic, slay, see u in the next section ππΈ
π¦ 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