On Wed, 14 Apr 2021 06:18:57 +0000 Y.b. Lu wrote: > > On Tue, 13 Apr 2021 11:48:17 +0800 Yangbo Lu wrote: > > > + /* Queue one-step Sync packet if already locked */ > > > + if (skb->cb[0] & ENETC_F_TX_ONESTEP_SYNC_TSTAMP) { > > > + if > > (test_and_set_bit_lock(ENETC_TX_ONESTEP_TSTAMP_IN_PROGRESS, > > > + &priv->flags)) { > > > + skb_queue_tail(&priv->tx_skbs, skb); > > > + return NETDEV_TX_OK; > > > + } > > > + } > > > > Isn't this missing queue_work() as well? > > > > Also as I mentioned I don't understand why you created a separate workqueue > > instead of using the system workqueue via schedule_work(). > > queue_work(system_wq, ) was put in clean_tx. I finally followed the > logic you suggested :)
Ah, I didn't look close enough. I was expecting to see schedule_work(), please consider sending a follow up, queue_work(system_wq, $work) is a rare construct.