M pc/ether2114x.c => pc/ether2114x.c +3 -2
@@ 19,7 19,7 @@
#include "etherif.h"
-#define DEBUG (1)
+#define DEBUG (0)
#define debug if(DEBUG)print
enum {
@@ 1400,8 1400,9 @@ dec2114xpci(void)
softreset(ctlr);
if(srom(ctlr)){
+ iofree(ctlr->port);
free(ctlr);
- break;
+ continue;
}
switch(ctlr->id){
M pc/vgamach64xx.c => pc/vgamach64xx.c +2 -1
@@ 13,7 13,7 @@
#include "screen.h"
/*
- * ATI Mach64(CT|ET|G*|VT|VU|L*).
+ * ATI Mach64(CT|ET|G*|V*|L*).
*/
static ushort mach64xxdid[] = {
('C'<<8)|'T',
@@ 29,6 29,7 @@ static ushort mach64xxdid[] = {
('G'<<8)|'Z',
('V'<<8)|'T',
('V'<<8)|'U',
+ ('V'<<8)|'V',
('L'<<8)|'B',
('L'<<8)|'I',
('L'<<8)|'M',
M port/devloopback.c => port/devloopback.c +6 -1
@@ 296,8 296,13 @@ loopbackopen(Chan *c, int omode)
lb = c->aux;
qlock(lb);
- if(TYPE(c->qid.path) == Qdata)
+ if(TYPE(c->qid.path) == Qdata){
+ if(lb->link[ID(c->qid.path)].ref){
+ qunlock(lb);
+ error(Einuse);
+ }
lb->link[ID(c->qid.path)].ref++;
+ }
qunlock(lb);
c->mode = openmode(omode);