diff --git a/arch/sim/src/sim/up_rptun.c b/arch/sim/src/sim/up_rptun.c index b4a3e5d8543..ef8f50d7a7b 100644 --- a/arch/sim/src/sim/up_rptun.c +++ b/arch/sim/src/sim/up_rptun.c @@ -224,16 +224,20 @@ void up_rptun_loop(void) { if (dev->shmem != NULL) { + bool should_notify = false; + if (dev->master && dev->seq != dev->shmem->seqs) { dev->seq = dev->shmem->seqs; + should_notify = true; } else if (!dev->master && dev->seq != dev->shmem->seqm) { dev->seq = dev->shmem->seqm; + should_notify = true; } - if (dev->callback != NULL) + if (should_notify && dev->callback != NULL) { dev->callback(dev->arg, RPTUN_NOTIFY_ALL); }