<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [NV98] hangs in nvbios_init on probe (worked in 3.2)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=72943#c10">Comment # 10</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [NV98] hangs in nvbios_init on probe (worked in 3.2)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=72943">bug 72943</a>
from <span class="vcard"><a class="email" href="mailto:imirkin@alum.mit.edu" title="Ilia Mirkin <imirkin@alum.mit.edu>"> <span class="fn">Ilia Mirkin</span></a>
</span></b>
<pre>Created <span class=""><a href="attachment.cgi?id=91531" name="attach_91531" title="make jump execution conditional">attachment 91531</a> <a href="attachment.cgi?id=91531&action=edit" title="make jump execution conditional">[details]</a></span> <a href='page.cgi?id=splinter.html&bug=72943&attachment=91531'>[review]</a>
make jump execution conditional
Please try this patch, I'm pretty sure it will help things out. The problem
VBIOS has the following snippet:
0xd9d0: 74 64 00 TIME 0x0064
0xd9d3: 75 10 CONDITION 0x10
0xd9d5: 38 NOT
0xd9d6: 6e 24 e8 00 00 ff ff ff ff 00 00 20 00 NV_REG R[0x00e824] &=
0xffffffff |= 0x00200000
0xd9e3: 6e 20 e8 00 00 ff ff ff ff 00 00 00 80 NV_REG R[0x00e820] &=
0xffffffff |= 0x80000000
0xd9f0: 6e 18 e8 00 00 ff ff ff ff 00 00 00 08 NV_REG R[0x00e818] &=
0xffffffff |= 0x08000000
0xd9fd: 6e 18 e8 00 00 ff ff ff 7f 00 00 00 00 NV_REG R[0x00e818] &=
0x7fffffff |= 0x00000000
0xda0a: 6e 18 e8 00 00 ff ff ff 7f 00 00 00 80 NV_REG R[0x00e818] &=
0x7fffffff |= 0x80000000
0xda17: 74 64 00 TIME 0x0064
0xda1a: 5c d0 d9 JUMP 0xd9d0
With the old code, the JUMP was always executed and so there was no way to
break out of the loop. The new code makes JUMP conditional the same way
NV_REG/etc are.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>