sd63xxesb.c:895,908 - /n/sources/patch/applied/sd63xxesb-atapi/sd63xxesb.c:895,900 p->cmd |= Ast; } - static char* - sdname(Drive *d) - { - if(d->unit) - return d->unit->name; - return "??"; - } - static void updatedrive(Drive *d) { sd63xxesb.c:917,923 - /n/sources/patch/applied/sd63xxesb-atapi/sd63xxesb.c:909,917 cause = p->isr; serr = p->serror; p->isr = cause; - name = sdname(d); + name = "??"; + if(d->unit && d->unit->name) + name = d->unit->name; if(p->ci == 0){ d->portm.flag |= Fdone; sd63xxesb.c:1062,1068 - /n/sources/patch/applied/sd63xxesb-atapi/sd63xxesb.c:1056,1064 c = &d->portc; m = &d->portm; - name = sdname(d); + name = d->unit->name; + if(name == 0) + name = "??"; if(d->port->task == 0x80) return -1; sd63xxesb.c:1142,1152 - /n/sources/patch/applied/sd63xxesb-atapi/sd63xxesb.c:1138,1145 ushort s; char *name; - if(d->unit == nil) - return; - ilock(d); - name = sdname(d); + name = d->unit->name; s = d->port->sstatus; if(s != olds[i]){ dprint("%s: status: %04ux -> %04ux: %s\n", name, olds[i], s, diskstates[d->state]); sd63xxesb.c:1232,1240 - /n/sources/patch/applied/sd63xxesb-atapi/sd63xxesb.c:1225,1233 memset(olds, 0xff, sizeof olds); for(;;){ + tsleep(&up->sleep, return0, 0, Nms); for(i = 0; i < niadrive; i++) checkdrive(iadrive[i], i); - tsleep(&up->sleep, return0, 0, Nms); } } sd63xxesb.c:1277,1283 - /n/sources/patch/applied/sd63xxesb-atapi/sd63xxesb.c:1270,1275 d->unit = u; iunlock(d); iunlock(c); - checkdrive(d, d->driveno); return 1; } sd63xxesb.c:1735,1741 - /n/sources/patch/applied/sd63xxesb-atapi/sd63xxesb.c:1727,1733 loop: while((p = pcimatch(p, 0x8086, 0)) != nil){ if((p->did&0xfffc) != 0x2680) // esb - if((p->did&0xfffa) != 0x27c0) // 82801g[bh]m + if((p->did&0xfffe) != 0x27c4) // 82801g[bh]m continue; if(niactlr == NCtlr){ print("iapnp: too many controllers\n"); sd63xxesb.c:1763,1769 - /n/sources/patch/applied/sd63xxesb-atapi/sd63xxesb.c:1755,1760 vunmap(c->mmio, p->mem[0].size); continue; } - niactlr++; i = (c->hba->cap>>21)&1; print("intel 63[12]xesb: sata-%s ports with %d ports\n", "I\0II"+i*2, nunit); s->ifc = &sd63xxesbifc;