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