ref: 0686580eda92960a71121fad27188304348738ed
parent: fde9e53b87da3ce9e9f13d2990fe40df05bb702e
parent: cb4a06e338304203c91b66895a13daaff2a970b8
author: cinap_lenrek <cinap_lenrek@centraldogma>
date: Wed Jun 29 23:05:50 EDT 2011
merge
--- a/sys/src/9/pc/audiohda.c
+++ b/sys/src/9/pc/audiohda.c
@@ -441,7 +441,7 @@
if(csr16(ctlr, Rirbwp) != re){re = (re + 1) % ctlr->rirbsize;
memmove(reply, &ctlr->rirb[re*2], 8);
- return 8;
+ return 1;
}
microdelay(1);
}
@@ -457,8 +457,10 @@
q |= (verb << 8) | par;
else
q |= (verb << 16) | par;
- if(hdacmd(id.ctlr, q, w) != 8)
+ if(hdacmd(id.ctlr, q, w) != 1)
return -1;
+ if(w[1] != id.codec)
+ return -1;
*ret = w[0];
return 0;
}
@@ -1299,7 +1301,7 @@
lp = a;
qlock(ctlr);
for(i=0; i<n/4; i++){- if(hdacmd(ctlr, lp[i], w) < 0){+ if(hdacmd(ctlr, lp[i], w) <= 0){w[0] = 0;
w[1] = ~0;
}
--
⑨