On 15/08/06 23:58 -0500, Richard Smith wrote: > void put_kbc_in_reset(void){ > unsigned char val; > unsigned long timeout = 500000; > > outb(0xd8,0x66); > while((inb(0x66) & 0x02) & timeout>0) { > timeout--; > } That while statement looks a bit suspect. Looks like you missed a &. Jordan