dpaa2-eth: Initialize mutex used in one step timestamping path
authorRadu Bulie <radu-andrei.bulie@nxp.com>
Mon, 14 Feb 2022 17:45:34 +0000 (19:45 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Feb 2022 14:33:30 +0000 (14:33 +0000)
1588 Single Step Timestamping code path uses a mutex to
enforce atomicity for two events:
- update of ptp single step register
- transmit ptp event packet

Before this patch the mutex was not initialized. This
caused unexpected crashes in the Tx function.

Fixes: c55211892f463 ("dpaa2-eth: support PTP Sync packet one-step timestamping")
Signed-off-by: Radu Bulie <radu-andrei.bulie@nxp.com>
Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c

index dd9385d15f6bdf1ed8382570bd970fb03e9bc484..0f90d2d5bb609b2b05a187a4a5424332aa5b72b6 100644 (file)
@@ -4338,7 +4338,7 @@ static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev)
        }
 
        INIT_WORK(&priv->tx_onestep_tstamp, dpaa2_eth_tx_onestep_tstamp);
-
+       mutex_init(&priv->onestep_tstamp_lock);
        skb_queue_head_init(&priv->tx_skbs);
 
        priv->rx_copybreak = DPAA2_ETH_DEFAULT_COPYBREAK;