Felix Fietkau <nbd@xxxxxxxx> writes: > When a vif is being removed and sdata->bss is cleared, __ieee80211_wake_txqs > can still be called on it, which crashes as soon as sdata->bss is being > dereferenced. > To fix this properly, check for SDATA_STATE_RUNNING before waking queues, > and take the fq lock when setting it (to ensure that __ieee80211_wake_txqs > observes the change when running on a different CPU > > Signed-off-by: Felix Fietkau <nbd@xxxxxxxx> I think it's a little ugly to expand usage of fq.lock across more and more places, I don't really have a good alternative, so: Acked-by: Toke Høiland-Jørgensen <toke@xxxxxxxxxx>