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)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 Dec 2023 11:21:10 +0000 (11:21 +0000)
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>
drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c

index 540f6a4ec0b81fe1e2923d99a2ef526abb789f1b..f05bd757dfe5251b8a64a8c3870dd6e70075885c 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) >>