On Fri, Nov 03, 2023 at 04:46:56PM -0700, Jacob Keller wrote: > Before performing a Tx timestamp in ice_stamp(), the driver checks a ptp_tx > ring variable to see if timestamping is enabled on that ring. This value is > set for all rings whenever userspace configures Tx timestamping. > > Ostensibly this was done to avoid wasting cycles checking other fields when > timestamping has not been enabled. However, for Tx timestamps we already > get an individual per-SKB flag indicating whether userspace wants to > request a timestamp on that packet. We do not gain much by also having > a separate flag to check for whether timestamping was enabled. > > In fact, the driver currently fails to restore the field after a PF reset. > Because of this, if a PF reset occurs, timestamps will be disabled. > > Since this flag doesn't add value in the hotpath, remove it and always > provide a timestamp if the SKB flag has been set. > > A following change will fix the reset path to properly restore user > timestamping configuration completely. > > This went unnoticed for some time because one of the most common > applications using Tx timestamps, ptp4l, will reconfigure the socket as > part of its fault recovery logic. > > Fixes: ea9b847cda64 ("ice: enable transmit timestamps for E810 devices") > Signed-off-by: Jacob Keller <jacob.e.kel...@intel.com> > Reviewed-by: Jesse Brandeburg <jesse.brandeb...@intel.com>
Reviewed-by: Simon Horman <ho...@kernel.org> _______________________________________________ Intel-wired-lan mailing list Intel-wired-lan@osuosl.org https://lists.osuosl.org/mailman/listinfo/intel-wired-lan