Fix lock/ilock mismatch. [rsc] --rw-rw-r-- M 8988 glenda sys 12365 Nov 21 07:08 sys/src/9/pc/kbd.c /n/sourcesdump/2005/1121/plan9/sys/src/9/pc/kbd.c:317,326 - /n/sourcesdump/2005/1122/plan9/sys/src/9/pc/kbd.c:317,326 /* * get status */ - lock(&i8042lock); + ilock(&i8042lock); s = inb(Status); if(!(s&Inready)){ - unlock(&i8042lock); + iunlock(&i8042lock); return; } /n/sourcesdump/2005/1121/plan9/sys/src/9/pc/kbd.c:328,334 - /n/sourcesdump/2005/1122/plan9/sys/src/9/pc/kbd.c:328,334 * get the character */ c = inb(Data); - unlock(&i8042lock); + iunlock(&i8042lock); /* * if it's the aux port... 64-bit mistranslation. [rsc] --rw-rw-r-- M 8988 glenda sys 26815 Nov 21 12:48 sys/src/cmd/cc/dcl.c /n/sourcesdump/2005/1121/plan9/sys/src/cmd/cc/dcl.c:1572,1579 - /n/sourcesdump/2005/1122/plan9/sys/src/cmd/cc/dcl.c:1572,1579 if(n->left->type) if(n->left->type->width == w) goto no; - while(w & ewidth[TIND]) - w++; /* is this a bug?? */ + while(w & (ewidth[TIND]-1)) + w++; /* * insert the following code, where long becomes vlong if pointers are fat *