On Tue, Sep 26, 2023 at 03:10:59PM +0800, Yajun Deng wrote: > The new adjustment should be based on the base frequency, not the > I40E_PTP_40GB_INCVAL in i40e_ptp_adjfine(). > > This issue was introduced in commit 3626a690b717 ("i40e: use > mul_u64_u64_div_u64 for PTP frequency calculation"), frequency is left > just as base I40E_PTP_40GB_INCVAL before the commit. After the commit, > frequency is the I40E_PTP_40GB_INCVAL times the ptp_adj_mult value. > But then the diff is applied on the wrong value, and no multiplication > is done afterwards. > > It was accidentally fixed in commit 1060707e3809 ("ptp: introduce helpers > to adjust by scaled parts per million"). It uses adjust_by_scaled_ppm > correctly performs the calculation and uses the base adjustment, so > there's no error here. But it is a new feature and doesn't need to > backported to the stable releases. > > This issue affects both v6.0 and v6.1, and the v6.1 version is an LTS > release. Therefore, the patch only needs to be applied to v6.1 stable. > > Fixes: 3626a690b717 ("i40e: use mul_u64_u64_div_u64 for PTP frequency calculation") > Cc: <stable@xxxxxxxxxxxxxxx> # 6.1 > Cc: Tony Nguyen <anthony.l.nguyen@xxxxxxxxx> > Signed-off-by: Yajun Deng <yajun.deng@xxxxxxxxx> > Reviewed-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> > --- > drivers/net/ethernet/intel/i40e/i40e_ptp.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Now queued up, thanks. greg k-h