Johannes Berg <johannes@xxxxxxxxxxxxxxxx> writes: > 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? With '<---IRQ---(RX packet)' I assumed wcn36xx is delivering a frame to mac80211 using ieee80211_rx(), but of course I'm just guessing here. -- https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches