On Tue, Oct 27, 2020 at 06:15:26PM +0100, Christian Eggers wrote: > [ Upstream commit 4e3bbb33e6f36e4b05be1b1b9b02e3dd5aaa3e69 ] > > SOCK_TSTAMP_NEW (timespec64 instead of timespec) is also used for > hardware time stamps (configured via SO_TIMESTAMPING_NEW). > > User space (ptp4l) first configures hardware time stamping via > SO_TIMESTAMPING_NEW which sets SOCK_TSTAMP_NEW. In the next step, ptp4l > disables SO_TIMESTAMPNS(_NEW) (software time stamps), but this must not > switch hardware time stamps back to "32 bit mode". > > This problem happens on 32 bit platforms were the libc has already > switched to struct timespec64 (from SO_TIMExxx_OLD to SO_TIMExxx_NEW > socket options). ptp4l complains with "missing timestamp on transmitted > peer delay request" because the wrong format is received (and > discarded). > > Fixes: 887feae36aee ("socket: Add SO_TIMESTAMP[NS]_NEW") > Signed-off-by: Christian Eggers <ceggers@xxxxxxx> > Acked-by: Willem de Bruijn <willemb@xxxxxxxxxx> > Acked-by: Deepa Dinamani <deepa.kernel@xxxxxxxxx> > --- > Hi Greg, > > I just got your E-mail(s) that this patch has been applied to 5.8 and 5.9. > This is a back port for the same problem on 5.4. It does the same as the > upstream patch, only the affected code is at another position here. Please > decide yourself whether the Acked-by: tags (from the upstream patch) should > be kept or removed. > > This back port is only required for 5.4, older kernels like 4.19 are not > affected. > > regards > Christian Now queued up, thanks. greg k-h