>-----Original Message----- >From: Yangbo Lu <yangbo...@nxp.com> >Sent: Tuesday, April 13, 2021 6:48 AM [...] >Subject: [net-next] enetc: fix locking for one-step timestamping packet >transfer > >The previous patch to support PTP Sync packet one-step timestamping >described one-step timestamping packet handling logic as below in >commit message: > >- Trasmit packet immediately if no other one in transfer, or queue to > skb queue if there is already one in transfer. > The test_and_set_bit_lock() is used here to lock and check state. >- Start a work when complete transfer on hardware, to release the bit > lock and to send one skb in skb queue if has. > >There was not problem of the description, but there was a mistake in >implementation. The locking/test_and_set_bit_lock() should be put in >enetc_start_xmit() which may be called by worker, rather than in >enetc_xmit(). Otherwise, the worker calling enetc_start_xmit() after >bit lock released is not able to lock again for transfer. > >Fixes: 7294380c5211 ("enetc: support PTP Sync packet one-step >timestamping") >Signed-off-by: Yangbo Lu <yangbo...@nxp.com> >---
Reviewed-by: Claudiu Manoil <claudiu.man...@nxp.com>