On Tue, 2019-10-01 at 12:53 +0200, Toke Høiland-Jørgensen wrote: > > > - spin_unlock_bh(&fq->lock); > > + spin_unlock(&fq->lock); > > drv_wake_tx_queue(local, txqi); > > - spin_lock_bh(&fq->lock); > > + spin_lock(&fq->lock); > > Okay, so this will mean that the drv_wake_tx_queue() entry point will be > called with bhs disabled. Right. > But there are lots of uses of > spin_{,un}lock_bh() in tx.c: [snip] > so won't that mean that the driver still gets bhs re-enabled after (for > instance) the first call to ieee80211_tx_dequeue()? No, local_bh_disable()/local_bh_enable() is re-entrant and nests fine. johannes