• Wesley W. Terpstra's avatar
    minic: fix race condition => softpll hang · 64da3a91
    Wesley W. Terpstra authored
    The minic driver reads the TX timestamp from the device after sending.
    Unfortunately, it only waited for the data to be enqueued to be sent.
    Sometimes this lead to a race condition where the old TX stamp was read.
    
    As a result, the PTP calculation goes wrong by as much as an entire second.
    When in track_phase, this manifests as a bad phase offset sent to softpll.
    The softpll takes years to reach that phase offset, so it is always busy.
    Thus the clock drifts further and further away, never correcting.
    64da3a91
Name
Last commit
Last update
arch/lm32 Loading commit data...
boards Loading commit data...
configs Loading commit data...
dev Loading commit data...
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
monitor Loading commit data...
pp_printf Loading commit data...
ppsi @ d3b860f2
ptp-noposix @ 79a7beb2
scripts Loading commit data...
shell Loading commit data...
sockitowm Loading commit data...
softpll Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
COPYING Loading commit data...
Kconfig Loading commit data...
Makefile Loading commit data...
Makefile.kconfig Loading commit data...
revision.c Loading commit data...
wrc_main.c Loading commit data...
wrc_ptp.h Loading commit data...
wrc_ptp_noposix.c Loading commit data...
wrc_ptp_ppsi.c Loading commit data...