net: stmmac: fix incorrect flag check in timestamp interrupt
authorLai Peter Jun Ann <jun.ann.lai@intel.com>
Mon, 18 Dec 2023 07:51:32 +0000 (15:51 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Jan 2024 12:42:42 +0000 (12:42 +0000)
commit bd7f77dae69532ffc027ee50ff99e3792dc30b7f upstream.

The driver should continue get the timestamp if STMMAC_FLAG_EXT_SNAPSHOT_EN
flag is set.

Fixes: aa5513f5d95f ("net: stmmac: replace the ext_snapshot_en field with a flag")
Cc: <stable@vger.kernel.org> # 6.6
Signed-off-by: Song Yoong Siang <yoong.siang.song@intel.com>
Signed-off-by: Lai Peter Jun Ann <jun.ann.lai@intel.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Serge Semin <fancer.lancer@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c

index 540f6a4..f05bd75 100644 (file)
@@ -237,7 +237,7 @@ static void timestamp_interrupt(struct stmmac_priv *priv)
         */
        ts_status = readl(priv->ioaddr + GMAC_TIMESTAMP_STATUS);
 
-       if (priv->plat->flags & STMMAC_FLAG_EXT_SNAPSHOT_EN)
+       if (!(priv->plat->flags & STMMAC_FLAG_EXT_SNAPSHOT_EN))
                return;
 
        num_snapshot = (ts_status & GMAC_TIMESTAMP_ATSNS_MASK) >>