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