STATION TABLE - FW RESTART(9)
π NAME π
station table - fw restart β it's a page from the Kernel API Manual, bestie, and it's literally all about what happens to the station table when the firmware has a meltdown and we gotta restart the driver π«Ά
π¦ DESCRIPTION π¦
okay so picture this: the fw asserts π (yes, like, it just gives up), or we've got any other issue that means we have to reset the driver. When that happens, we require mac80211 to reconfigure the driver. No cap, that's just the deal.
Here's the messy part though β the private data of the stations is embed in mac80211's ieee80211_sta, so that data does not get zeroed. Nope. It's still sitting there. Which means we have to reinitialize it manually ourselves, like the responsible icon we are π
the restart lore π₯IWL_MVM_STATUS_IN_HW_RESTARTgets set during restart, and that flag is basically the hint that tells us: do not allocate a newsta_id, bestie, reuse the previous one. slay.
So what does that mean for real? It means the stations being re-added after the reset will have the same place in the fw as before the reset β¨ same seat, same vibe, no reshuffling.
But β and this is the important bit β we do need to zero the fw_id_to_mac_id map, because the stations aren't in the fw any more. Gone. Not there. Zero it π
And as for the internal stations that are not added by mac80211? They get re-added in the init flow that's called after the restart, iykyk. Specifically: mac80211 call's iwl_mvm_mac_start which calls to iwl_mvm_up. That's the whole chain, periodt π
β¨ SEE ALSO β¨
go read these next, they're all connected fr fr π
- Kernel file
./drivers/net/wireless/intel/iwlwifi/mvm/sta.h DQA - Dynamic Queue Allocation -introduction(9)station table - introduction(9)station table - locking(9)station table - internal stations(9)station table - AP Station in STA mode(9)station table - Drain vs. Flush(9)AP mode - PS(9)enum iwl_mvm_agg_state(9)struct iwl_mvm_tid_data(9)enum iwl_mvm_rxq_notif_type(9)struct iwl_mvm_internal_rxq_notif(9)struct iwl_mvm_rxq_dup_data(9)struct iwl_mvm_link_sta(9)struct iwl_mvm_sta(9)struct iwl_mvm_int_sta(9)iwl_mvm_sta_send_to_fw(9)struct iwl_mvm_sta_state_ops(9)
okay that's the whole page, ily, go read the source bestie π
this one comes to you from ./drivers/net/wireless/intel/i... π dated October 2026 π and it's still station table - fw restart(9) if you need to cite it π
π¦ 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