On Aug 6 17:30, christopher.s.h...@intel.com wrote: > From: Christopher S M Hall <christopher.s.h...@intel.com> > > Move ktime_get_snapshot() into the loop. If a retry does occur, a more > recent snapshot will result in a more accurate cross-timestamp. > > Fixes: a90ec8483732 ("igc: Add support for PTP getcrosststamp()") > Signed-off-by: Christopher S M Hall <christopher.s.h...@intel.com> > --- > drivers/net/ethernet/intel/igc/igc_ptp.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/net/ethernet/intel/igc/igc_ptp.c > b/drivers/net/ethernet/intel/igc/igc_ptp.c > index 00cc80d8d164..fb885fcaa97c 100644 > --- a/drivers/net/ethernet/intel/igc/igc_ptp.c > +++ b/drivers/net/ethernet/intel/igc/igc_ptp.c > @@ -1011,16 +1011,16 @@ static int igc_phc_get_syncdevicetime(ktime_t *device, > int err, count = 100; > ktime_t t1, t2_curr; > > - /* Get a snapshot of system clocks to use as historic value. */ > - ktime_get_snapshot(&adapter->snapshot); > - > + /* Doing this in a loop because in the event of a > + * badly timed (ha!) system clock adjustment, we may > + * get PTM errors from the PCI root, but these errors > + * are transitory. Repeating the process returns valid > + * data eventually. > + */ > do { > - /* Doing this in a loop because in the event of a > - * badly timed (ha!) system clock adjustment, we may > - * get PTM errors from the PCI root, but these errors > - * are transitory. Repeating the process returns valid > - * data eventually. > - */ > + /* Get a snapshot of system clocks to use as historic value. */ > + ktime_get_snapshot(&adapter->snapshot); > + > igc_ptm_trigger(hw); > > err = readx_poll_timeout(rd32, IGC_PTM_STAT, stat, > -- > 2.34.1
Reviewed-by: Corinna Vinschen <vinsc...@redhat.com>