rxts_calibrator: fix incorrect t24p phase resulting in rare track failures
t24p calibration finds the rising&falling edges in dev/rxts_calibrator.c:rxts_calibration_update. It then computes the "transition" as (falling+rising)/2. That is, ttrans points 25% past the dangerous transition. Now that value arrives in one of the three copies of ptpd_netif_linearize_rx_timestamp (depending on build). In this method ttrans has +-1/4 period added to it to compute trip_lo and trip_hi. The intent as described by the comment (and common sense) is to avoid the rising edge when the phase is within +-1/4 period. Unfortunately, this code assumes that ttrans IS the rising edge, when in fact it is the rising edge+25%. Thus, the code ACTUALLY tests phase within 0-50%.
Please register or sign in to comment