linux/drivers/net/ethernet/freescale
Yangbo Lu 7ce9c3d363 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: 7294380c52 ("enetc: support PTP Sync packet one-step timestamping")
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Reviewed-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-23 13:52:30 -07:00
..
dpaa bpf, devmap: Move drop error path to devmap for XDP_REDIRECT 2021-03-18 16:38:51 +01:00
dpaa2 net: bridge: switchdev: include local flag in FDB notifications 2021-04-16 15:15:45 -07:00
enetc enetc: fix locking for one-step timestamping packet transfer 2021-04-23 13:52:30 -07:00
fman of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
fs_enet of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
fec_main.c net: fec: make use of generic NET_SELFTESTS library 2021-04-20 16:08:02 -07:00
fec_mpc52xx_phy.c
fec_mpc52xx.c of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
fec_mpc52xx.h
fec_ptp.c net: fec: ptp: avoid register access when ipg clock is disabled 2021-02-26 15:45:18 -08:00
fec.h net: fec: Fix temporary RMII clock reset on link up 2021-01-26 18:24:39 -08:00
fsl_pq_mdio.c net: freescale: convert comma to semicolon 2020-12-09 16:23:08 -08:00
gianfar_ethtool.c net: gianfar: reject unsupported coalescing params 2020-03-12 11:32:35 -07:00
gianfar.c gianfar: Drop GFAR_MQ_POLLING support 2021-04-16 15:46:15 -07:00
gianfar.h gianfar: Drop GFAR_MQ_POLLING support 2021-04-16 15:46:15 -07:00
Kconfig net: fec: make use of generic NET_SELFTESTS library 2021-04-20 16:08:02 -07:00
Makefile net: enetc: fix link error again 2021-04-22 13:23:07 -07:00
ucc_geth_ethtool.c net/freescale: Don't set zero if FW not-available in ucc_geth 2020-03-03 17:54:55 -08:00
ucc_geth.c of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
ucc_geth.h ethernet: ucc_geth: simplify rx/tx allocations 2021-01-21 12:19:56 -08:00
xgmac_mdio.c net/fsl: quieten expected MDIO access failures 2020-09-24 20:13:26 -07:00