MT#55283 fix ext_seq math booboo

Fix the math in the sequencer code to determine ROC and extended
sequence number. This has become significant as the sequence numbers are
written into shared memory space.

Change-Id: I9e519a29a3822d02f7c389920ee0909b48828525
(cherry picked from commit 84b2d2c30e)
(cherry picked from commit cdb3612b9d)
mr12.5.1
Richard Fuchs 1 year ago
parent 0e1338711d
commit da6b6ae4fc

@ -1756,9 +1756,12 @@ out:
g_tree_steal(ps->packets, GINT_TO_POINTER(packet->seq));
ps->seq = (packet->seq + 1) & 0xffff;
if (packet->seq < ps->ext_seq)
unsigned int ext_seq = ps->roc << 16 | packet->seq;
while (ext_seq < ps->ext_seq) {
ps->roc++;
ps->ext_seq = ps->roc << 16 | packet->seq;
ext_seq += 0x10000;
}
ps->ext_seq = ext_seq;
return packet;
}

Loading…
Cancel
Save