Sebastian Herbszt
2009-Sep-03 21:58 UTC
[syslinux] fsc branch: loop in pxe_idle_init() on qemu with pcnet card
syslinux-4.00-pre5-10-gdc10f7b locks up on qemu with pcnet card.
The problem seems to be in pxe_idle_init(). Added debug output:
dev_id: 10222000
before while loop h: 10 l: 0
h: 10 l: 0
e: 14e4166a
h modified
h: 350482265 l:0
h seems bogus as there are only 11 entries in pxe_need_idle_drain.
if (e == dev_id) {
found = true;
break;
} else if (e < dev_id) {
l = e+1;
} else {
h = e-1;
}
- Sebastian
H. Peter Anvin
2009-Sep-03 23:01 UTC
[syslinux] fsc branch: loop in pxe_idle_init() on qemu with pcnet card
On 09/03/2009 02:58 PM, Sebastian Herbszt wrote:> syslinux-4.00-pre5-10-gdc10f7b locks up on qemu with pcnet card. > The problem seems to be in pxe_idle_init(). Added debug output: > > dev_id: 10222000 > before while loop h: 10 l: 0 > h: 10 l: 0 > e: 14e4166a > h modified > h: 350482265 l:0 > > h seems bogus as there are only 11 entries in pxe_need_idle_drain. > > if (e == dev_id) { > found = true; > break; > } else if (e < dev_id) { > l = e+1; > } else { > h = e-1; > } >No joke. I changed "e" at one point from being an index to an ID, but I forgot that it was also used for keeping track of the next values of l and h. *DUH.* -hpa