On Mon, 6 Apr 2020 at 18:17, Johannes Berg johannes@sipsolutions.net wrote:
On Mon, 2020-04-06 at 15:44 +0300, Kalle Valo wrote:
user-space ieee80211_register_hw() RX IRQ +++++++++++++++++++++++++++++++++++++++++++++ | | | |<---wlan0---wiphy_register() | |----start wlan0---->| | | |<---IRQ---(RX packet) | Kernel crash | | due to unallocated | | workqueue. |
[snip]
I have understood that no frames should be received until mac80211 calls struct ieee80211_ops::start:
- @start: Called before the first netdevice attached to the hardware
is enabled. This should turn on the hardware and must turn on
frame reception (for possibly enabled monitor interfaces.)
True, but I think he's saying that you can actually add and configure an interface as soon as the wiphy is registered?
Indeed, it's a call to "struct ieee80211_ops::start" just after wiphy is registered that causes the frame to be received leading to RX IRQ.
The "wlan0" is kinda wrong there, should be "phy0" I guess, and then interface added from iw?
Okay, will update the sequence diagram.
-Sumit
johannes