Sacknowledge = 1,
Sdriver = 2,
Sdriverok = 4,
- Sfeatureok = 8,
+ Sfeaturesok = 8,
Sfailed = 128,
/* flags in Qnetstatus */
}
ctlr->attached = 1;
- /* driver is ready */
- ctlr->cfg->status |= Sdriverok;
-
/* enable the queues */
for(i = 0; i < ctlr->nqueue; i++){
ctlr->cfg->queuesel = i;
ctlr->cfg->queueenable = 1;
}
+
+ /* driver is ready */
+ ctlr->cfg->status |= Sdriverok;
+
iunlock(ctlr);
/* start kprocs */
cfg->drvfeatsel = 0;
cfg->drvfeat = c->feat[0] & (Fmac|Fctrlvq|Fctrlrx);
+ cfg->status |= Sfeaturesok;
+
for(i=0; i<nelem(c->queue); i++){
cfg->queuesel = i;
n = cfg->queuesize;
enum {
Acknowledge = 1,
Driver = 2,
+ FeaturesOk = 8,
DriverOk = 4,
Failed = 0x80,
};
cfg->drvfeat = vd->feat[1] & 1;
cfg->drvfeatsel = 0;
cfg->drvfeat = 0;
+ cfg->status |= FeaturesOk;
for(i=0; i<nelem(vd->queue); i++){
cfg->queuesel = i;
intrenable(vd->pci->intl, viointerrupt, vd, vd->pci->tbdf, name);
coherence();
- vd->cfg->status |= DriverOk;
for(i = 0; i < vd->nqueue; i++){
vd->cfg->queuesel = i;
vd->cfg->queueenable = 1;
}
+ vd->cfg->status |= DriverOk;
return 1;
}