linux/drivers/net/ethernet/intel
Jacob Keller 830e0dd999 i40e: avoid overflow in i40e_ptp_adjfreq()
When operating at 1GbE, the base incval for the PTP clock is so large
that multiplying it by numbers close to the max_adj can overflow the
u64.

Rather than attempting to limit the max_adj to a value small enough to
avoid overflow, instead calculate the incvalue adjustment based on the
40GbE incvalue, and then multiply that by the scaling factor for the
link speed.

This sacrifices a small amount of precision in the adjustment but we
avoid erratic behavior of the clock due to the overflow caused if ppb is
very near the maximum adjustment.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-04-30 09:23:39 -07:00
..
e1000 net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
e1000e net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
fm10k net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e i40e: avoid overflow in i40e_ptp_adjfreq() 2018-04-30 09:23:39 -07:00
i40evf i40evf: Fix turning TSO, GSO and GRO on after 2018-04-30 09:19:55 -07:00
ice ice: Fix insufficient memory issue in ice_aq_manage_mac_read 2018-04-24 12:27:49 -07:00
igb net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
igbvf net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgb net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbe net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
ixgbevf net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
e100.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
Kconfig ice: Add basic driver framework for Intel(R) E800 Series 2018-03-26 08:28:02 -07:00
Makefile ice: Add basic driver framework for Intel(R) E800 Series 2018-03-26 08:28:02 -07:00