net: stmmac: ptp: stmmac_enable(): move change of plat->flags into mutex
authorJohannes Zink <j.zink@pengutronix.de>
Wed, 18 Oct 2023 07:09:56 +0000 (09:09 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 19 Oct 2023 11:01:33 +0000 (13:01 +0200)
This is a preparation patch. The next patch will check if an external TS
is active and return with an error. So we have to move the change of the
plat->flags that tracks if external timestamping is enabled after that
check.

Prepare for this change and move the plat->flags change into the mutex
and the if (on).

Signed-off-by: Johannes Zink <j.zink@pengutronix.de>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c

index 300e673d2a36fd31eacc6bbbf7f8c9853fba689c..6b639b62f778dd18ff1c4555c7e037f965100c72 100644 (file)
@@ -192,17 +192,17 @@ static int stmmac_enable(struct ptp_clock_info *ptp,
                write_unlock_irqrestore(&priv->ptp_lock, flags);
                break;
        case PTP_CLK_REQ_EXTTS:
-               if (on)
-                       priv->plat->flags |= STMMAC_FLAG_EXT_SNAPSHOT_EN;
-               else
-                       priv->plat->flags &= ~STMMAC_FLAG_EXT_SNAPSHOT_EN;
                mutex_lock(&priv->aux_ts_lock);
                acr_value = readl(ptpaddr + PTP_ACR);
                acr_value &= ~PTP_ACR_MASK;
                if (on) {
+                       priv->plat->flags |= STMMAC_FLAG_EXT_SNAPSHOT_EN;
+
                        /* Enable External snapshot trigger */
                        acr_value |= PTP_ACR_ATSEN(rq->extts.index);
                        acr_value |= PTP_ACR_ATSFC;
+               } else {
+                       priv->plat->flags &= ~STMMAC_FLAG_EXT_SNAPSHOT_EN;
                }
                netdev_dbg(priv->dev, "Auxiliary Snapshot %d %s.\n",
                           rq->extts.index, on ? "enabled" : "disabled");