It just happened again, and here is a disassembly of the location:

0xb7b96530 <NVSync+48>: mov    (%ecx),%eax
0xb7b96532 <NVSync+50>: shr    $0x2,%eax
0xb7b96535 <NVSync+53>: cmp    %edx,%eax
0xb7b96537 <NVSync+55>: jne    0xb7b96530 <NVSync+48>

Since neither %ecx nor %edx get changed during the loop, the only way
out of it is for (%ecx) to be volatile.

In the source code, that loop is
#define READ_GET(pNv) ((pNv)->FIFO[0x0011] >> 2)
        while(READ_GET(pNv) != pNv->dmaPut);

so it looks like a polling wait for an event that isn't happening.

This part of the source code looks exactly the same in 2.1.10, so I
don't think backporting it will be worth our time.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to