Hi Maximilian,
Very good catch. I am suprised we didn't see this sooner.
The bug is that the code was always updating the passed value to the next link offset even when it was on the requested link (cap_count). I think that your patch has a slight problem in that it skips the CapID and CapType check on the first link, link_no == 0.
Attached is a slightly different fix (untested). I think that this function could be rewritten to be more clear but this is what you get when tying to keep code similarity when going from asm to C.....
Please review and test.
Signed-off-by: Marc Jones marcj303@gmail.com
Thanks, Marc