ieee80211_i...texts_atomic(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ieee80211_iter_chan_contexts_atomic ✨

Okay so bestie, welcome to the Kernel API Manual β€” yes that Kernel API Manual β€” and today's main character is ieee80211_iter_chan_contexts_atomic. It's giving "small function, huge responsibilities" and honestly? We're obsessed. No cap. πŸŽ€


✨ NAME ✨

ieee80211_iter_chan_contexts_atomic β€” the one that iterates channel contexts πŸ¦‹


🌸 SYNOPSIS 🌸

void ieee80211_iter_chan_contexts_atomic (struct ieee80211_hw *hw , void
(*iter)(struct ieee80211_hw *hw, struct ieee80211_chanctx_conf
*chanctx_conf, void *data) , void *iter_data );

πŸŽ€ ARGUMENTS πŸŽ€

  • hw β€” a pointer you got from ieee80211_alloc_hw. That's the plug, that's where it all comes from, don't lose it πŸ”Œ
  • iter β€” the iterator function. Your little callback bestie that gets called for each thing 🫢
  • iter_data β€” whatever data you pass in, which then gets handed straight to the iterator function. Like passing snacks through the group chat πŸ“

πŸ¦‹ DESCRIPTION πŸ¦‹

So what it does is iterate all active channel contexts. That's the whole vibe. ✨

It's atomic, which is the important part β€” it doesn't acquire any locks internally that might be held in other places while it's calling into the driver. So you can just... call it. No lock drama. periodt. πŸ’…

Two little rules of the road, and they matter:

  • The iterator will not find a context that's being added β€” i.e. during the driver callback to add it. Not there yet, ghost. πŸ‘»
  • But it will find it while it's being removed. So removals are visible mid-flight, lowkey spooky but that's how it is.
⭐ Heads up: during hardware restart, all contexts that existed before the restart are considered already present. So they'll be found while iterating β€” whether they've been re-added already or not. Yes, even the ones that are only "present" in the spiritual sense 😭

πŸ”₯ SEE ALSO πŸ”₯

This list? Iconic. Massive. Basically the whole mac80211 cinematic universe, and we're listing every single one because bestie, we don't skip. πŸ‘‘

Like, that's the whole friend group and every single one ate. πŸ”₯


πŸ’– and that's the page!! πŸ’–

Sign-off time bestie 🫢 β€” this little gem lives out of ./include/net, dated October 2026, and it's filed under the manual name ieee80211_i...texts_atomic(9) (yes the header truncates it like that, we don't make the rules πŸ’€). Now go iterate those channel contexts, atomically, like the main character you are. πŸ‘‘βœ¨

πŸ“¦ where this page comes from