summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/sdvirtio.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2018-10-07 23:38:41 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2018-10-07 23:38:41 +0200
commitc458216121d622858916387071cd9c13df31820a (patch)
tree13eb82ccfd7a9ad61b527a585a117ed5f86989b3 /sys/src/9/pc/sdvirtio.c
parent9fec0e736081cd155afb6a413b7641b93faed519 (diff)
pc drivers: more pci cleanup
Diffstat (limited to 'sys/src/9/pc/sdvirtio.c')
-rw-r--r--sys/src/9/pc/sdvirtio.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/src/9/pc/sdvirtio.c b/sys/src/9/pc/sdvirtio.c
index ecda11778..57ed15811 100644
--- a/sys/src/9/pc/sdvirtio.c
+++ b/sys/src/9/pc/sdvirtio.c
@@ -217,6 +217,7 @@ viopnpdevs(int typ)
}
vd->typ = typ;
vd->pci = p;
+ pcienable(p);
/* reset */
outb(vd->port+Status, 0);
@@ -576,6 +577,7 @@ vioenable(SDev *sd)
Vdev *vd;
vd = sd->ctlr;
+ pcisetbme(vd->pci);
snprint(name, sizeof(name), "%s (%s)", sd->name, sd->ifc->name);
intrenable(vd->pci->intl, viointerrupt, vd, vd->pci->tbdf, name);
outb(vd->port+Status, inb(vd->port+Status) | DriverOk);
@@ -591,6 +593,7 @@ viodisable(SDev *sd)
vd = sd->ctlr;
snprint(name, sizeof(name), "%s (%s)", sd->name, sd->ifc->name);
intrdisable(vd->pci->intl, viointerrupt, vd, vd->pci->tbdf, name);
+ pciclrbme(vd->pci);
return 1;
}