]> git.baikalelectronics.ru Git - kernel.git/commit
tsnep: Fix rotten packets
authorGerhard Engleder <gerhard@engleder-embedded.com>
Sat, 19 Nov 2022 21:18:25 +0000 (22:18 +0100)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 22 Nov 2022 14:47:17 +0000 (15:47 +0100)
commit84a8bdb0e98ebcd5276845522ff0ecb1ca77f1ff
treea6b31e48b66ebc83818bdf2c6babe7a480a8a5f6
parent653680d431dc8b18daf11c73dd9ecb8557821bbc
tsnep: Fix rotten packets

If PTP synchronisation is done every second, then sporadic the interval
is higher than one second:

ptp4l[696.582]: master offset        -17 s2 freq   -1891 path delay 573
ptp4l[697.582]: master offset        -22 s2 freq   -1901 path delay 573
ptp4l[699.368]: master offset         -1 s2 freq   -1887 path delay 573
      ^^^^^^^ Should be 698.582!

This problem is caused by rotten packets, which are received after
polling but before interrupts are enabled again. This can be fixed by
checking for pending work and rescheduling if necessary after interrupts
has been enabled again.

Fixes: 39f5f79fd454 ("tsnep: Add TSN endpoint Ethernet MAC driver")
Signed-off-by: Gerhard Engleder <gerhard@engleder-embedded.com>
Link: https://lore.kernel.org/r/20221119211825.81805-1-gerhard@engleder-embedded.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/engleder/tsnep_main.c