When inhibit_announce is set, ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES event is
still sent once every state change. Avoid this by explicitly sending
EV_NONE instead.

Signed-off-by: Vedang Patel <[email protected]>
---
 port.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/port.c b/port.c
index 142b97023cdd..a423c6e37a86 100644
--- a/port.c
+++ b/port.c
@@ -2502,8 +2502,9 @@ static enum fsm_event bc_event(struct port *p, int 
fd_index)
                        port_clr_tmo(p->fda.fd[FD_SYNC_RX_TIMER]);
                }
 
-               if (p->inhibit_announce) {
+               if (p->inhibit_announce && fd_index == FD_ANNOUNCE_TIMER) {
                        port_clr_tmo(p->fda.fd[FD_ANNOUNCE_TIMER]);
+                       return EV_NONE;
                } else {
                        port_set_announce_tmo(p);
                }
-- 
2.7.3



_______________________________________________
Linuxptp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to