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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Feb 2022 11:01:02 +0000 (12:01 +0100)
commit 07dd44852be89386ab12210df90a2d78779f3bff upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c

index f917bc9c87969cc58abd190b1277f305ac0e82b6..d89ddc165ec24f757aca4be47e8bfcfdd2803b57 100644 (file)
@@ -4225,7 +4225,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);
 
        /* Obtain a MC portal */