Message ID | 1560953628-3248-1-git-send-email-weifeng.voon@intel.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net,v1] net: stmmac: fixed new system time seconds value calculation | expand |
From: Voon Weifeng <weifeng.voon@intel.com> Date: Wed, 19 Jun 2019 22:13:48 +0800 > From: Roland Hii <roland.king.guan.hii@intel.com> > > When ADDSUB bit is set, the system time seconds field is calculated as > the complement of the seconds part of the update value. > > For example, if 3.000000001 seconds need to be subtracted from the > system time, this field is calculated as > 2^32 - 3 = 4294967296 - 3 = 0x100000000 - 3 = 0xFFFFFFFD > > Previously, the 0x100000000 is mistakenly written as 100000000. > > This is further simplified from > sec = (0x100000000ULL - sec); > to > sec = -sec; > > Fixes: ba1ffd74df74 ("stmmac: fix PTP support for GMAC4") > Signed-off-by: Roland Hii <roland.king.guan.hii@intel.com> > Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com> > Signed-off-by: Voon Weifeng <weifeng.voon@intel.com> Applied and queued up for -stable.
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c index 2dcdf761d525..020159622559 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c @@ -112,7 +112,7 @@ static int adjust_systime(void __iomem *ioaddr, u32 sec, u32 nsec, * programmed with (2^32 – <new_sec_value>) */ if (gmac4) - sec = (100000000ULL - sec); + sec = -sec; value = readl(ioaddr + PTP_TCR); if (value & PTP_TCR_TSCTRLSSR)