Re: [PATCH RESEND] i40e: fix the wrong PTP frequency calculation

From: Greg KH
Date: Sat Oct 07 2023 - 07:33:26 EST


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