On Tue, 13 Apr 2021 11:48:17 +0800 Yangbo Lu wrote:
quoted hunk ↗ jump to hunk
+ /* 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().