ieee80211_rx_irqsafe(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ieee80211_rx_irqsafe β€” bestie's guide to receiving frames

okay so this is a page from the Kernel API Manual, and it's about ieee80211_rx_irqsafe. yes the name is a mouthful, no we're not changing it, it's iconic actually πŸŽ€


✨ NAME ✨

ieee80211_rx_irqsafe β€” receive frame πŸ¦‹

like, that's it. that's the whole name section. short and slay.


🌸 SYNOPSIS 🌸

void ieee80211_rx_irqsafe (struct ieee80211_hw *hw , struct sk_buff *skb );

that's the whole signature, no cap. it returns void, so there's literally nothing to check. no return value, no drama. πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • hw β€” the hardware this frame came in on. like, which radio are we talking about here. that one.
  • skb β€” the buffer to receive. and listen: it is owned by mac80211 after this call. so once you hand it over, it's not yours anymore, bestie. don't touch it. don't free it. don't look at it. it's mac80211's problem now 🫢

πŸ”₯ DESCRIPTION πŸ”₯

so here's the tea. ieee80211_rx_irqsafe works just like ieee80211_rx, but the whole point β€” the main character energy of this function β€” is that you can call it in IRQ context. internally it defers to a tasklet, so it's not doing the heavy lifting right there in your interrupt handler. very mindful. very demure. ✨

⚠️ ok now the serious part, pay attention: calls to this function, ieee80211_rx, or ieee80211_rx_ni may not be mixed for a single hardware. pick one and commit, periodt. no switching up mid-game. it also must not run concurrently with ieee80211_tx_status_skb or ieee80211_tx_status_ni. so like… don't. that's undefined-behaviour-adjacent territory and we don't do that here πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

okay this list is genuinely enormous, like it ate and left no crumbs. everything from the kernel file ./include/net/mac80211.h:


🧚 sign-off 🧚

this page lives in the kernel source at ./include/net, and the version stamp says October 2026 β€” so yeah, she's from the future, she's booked and busy, and she knows it πŸ’œ

go receive those frames bestie, ily, bye! πŸŒˆβ­πŸ“

πŸ“¦ where this page comes from