Johannes Berg <johannes@xxxxxxxxxxxxxxxx> writes: > From: Johannes Berg <johannes.berg@xxxxxxxxx> > > My previous commit to not apply flow control to management frames > that are going over TXQs (which is currently only the case for > iwlwifi, I think) broke things, with iwlwifi firmware crashing on > certain frames. As it turns out, that was due to the frame being > too short: space for the MIC wasn't added at the end of encrypted > management frames. > > Clearly, this is due to using the 'frags' queue - this is meant > only for frames that have already been processed for TX, and the > code in ieee80211_tx_dequeue() just returns them. This caused all > management frames to now not get any TX processing. > > To fix this, use IEEE80211_TX_INTCFL_NEED_TXPROCESSING (which is > currently used only in other circumstances) to indicate that the > frames need processing, and clear it immediately after so that, > at least in theory, MMPDUs can be fragmented. > > Fixes: 73bc9e0af594 ("mac80211: don't apply flow control on management frames") > Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Acked-by: Toke Høiland-Jørgensen <toke@xxxxxxxxxx>