Takashi Sakamoto wrote:
(Mar 10 2014 06:07), Clemens Ladisch wrote:
This commit add sorting of in-packets. [...]
Only a single packet is out of order, i.e., only two packets are exchanged. So it is not necessary to run a general-purpose sorting algorithm; it would be sufficient to store a single packet if it is out of order.
I cannot prove 'there are only two packets are exchanged'. What I can prove is 'the sequence of packets includes a bit disorder'.
AFAIK this error happens only on some specific devices with some specific (now outdated) firmware versions, and two exchanged packets is all that is actually observed. Furthermore, hardware implementations of IEC 16883-6 construct packets in nearly real time and _cannot_ store many packets.
Thus, I think it is extremely unlikely that we will ever see more than two exchanged packets.
I think keeping packet sequence is important to all of devices.
But there is no other device with a similar bug. I think the driver should keep the ability to detect dropped packets.
Regards, Clemens