Ok guys, sorry for double posting.
Since I can't post the changes right now and also a few people asked me via pm how I actually fixed the lag issue I'm gonna try to explain you what happened in EHCI module of rev 20 and 21.
Let's start looking at the diff in timer.c between rev19 and rev20 (first time lag issue appeared):
https://github.com/waninkoko/ehci-module/co...922c9837#diff-5
As you can see in rev20 the messages 0x555 and 0x666 have been unified in a single message 0x666.
Also the send/receive sequence has been changed by removing the send_message(0x555) above the cycle and the reveive_message() below the cycle.
And the start time of the timer has been set to 0 instead of 1 million.
Not sure, 'cause the issue is really subtle, but I suspect the timing logic in rev20/21 triggers 2 watchdogs in rapid sequence maybe even overlapped, so generating the tedious lag for certain drives.
If someone else has a better explanation I'll be glad to read it.
That's all for the time being