LinuxKPI: 802.11: various updates for iwlwifi stability and upcoming rtw
Various updates to the internals of the LinuxKPI 802.11 implementation.
Most notably improving state machine handling for de-assoc/de-auth and
always creating a new station as net80211 does and mac80211 seems to
do. This avoids firmware crashes for iwlwifi and often panics and
lead to more stability.
Some other secondary changes are in order to support upcoming drivers
so that we could possibly provide them out-of-tree for 13.1.
- implement ieee80211_beacon_loss()
Sponsored by: The FreeBSD Foundation
(cherry picked from commit bb81db90f7e00f56df9ea14132a54ee983e7177f)
(cherry picked from commit 24c2117bafdba3c6998ddd407d643e142c5deda5)
- factor out lkpi_lsta_alloc() from lkpi_ic_node_alloc()
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 4f61ef8b78b25761b1b859ce39213f92fcbb24ce)
(cherry picked from commit 34f8e38ea7a5fccdf7f5de2cdcfabbdf68825480)
- factor out dtim/tsf updates
Sponsored by: The FreeBSD Foundation
(cherry picked from commit fa8f007de913623c066bf8f09213f92ee8cbca3a)
(cherry picked from commit bc472e0a3ef06cb8eb309b00e7fbdae64a21626a)
- rework sta state machine compatibility
Sponsored by: The FreeBSD Foundation
(cherry picked from commit d9f59799fc3e7940c47aa674c25994e640eae45e)
(cherry picked from commit 67674c1cb11512f09873c6d8e463af31548ef87f)
(cherry picked from commit 471a438a007eff18df3d0bd9dd8849faa9f2d6ff)
- improve lkpi_80211_mo_sta_state() for non (*sta_state)
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 878fb1e5754cc5bfbec57bc24859b07936f82a41)
(cherry picked from commit eb580265974013be43fa17d37e22124174a7ef86)
- use cfg80211_chandef_create()
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 4a07abdeb8ce5271996d85f648832e3d7bc741a7)
(cherry picked from commit 4836b8ac0ed3a3b155a7fb5f2322221f48c81687)
- make lkpi_ic_set_channel() unconditional
Sponsored by: The FreeBSD Foundation
(cherry picked from commit b2cf3c2125bf6f34cb01296e7eda93f73bc4b715)
(cherry picked from commit beaed0d4b5d0f901f78fc196f4b86d426a589792)
- check IEEE80211_FEXT_SCAN_OFFLOAD on vap
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 768dd32a164b35fb2f66fc8a0250cee84c79471e)
(cherry picked from commit 39bc4b2949e2ac32ad211aa6f1859559e21c7eb2)
- remove special handling for (*ic_scan_curchan)
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 321735f451d1eaa710a768d9e35ff87acb089d35)
(cherry picked from commit 5f88604cf7d9df1edbc662c4278e01476534f3ef)
- improve hw_scan fallback to sw_scan
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 196cfd0b2eb640a63d007a7e9c3a74e4256255f3)
(cherry picked from commit a1272e7d9621f95ca53f1bdef5ed78be12cac277)
- 802.11: cleanup debugging
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 9d9ba2b79b3196935431879efd9094eb9bfedd95)
(cherry picked from commit e269958566ff0df8d479996507636ed14ff6078a)
Approved by: re (gjb)