summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormikeb <mikeb@openbsd.org>2017-07-13 11:23:53 +0000
committermikeb <mikeb@openbsd.org>2017-07-13 11:23:53 +0000
commit389f05d36ceb7e17444c479faa1eefe29cde2737 (patch)
tree33e313097707d0231d91d0257bef1659a42e7ebd
parentMissing trailing / in url (diff)
downloadwireguard-openbsd-389f05d36ceb7e17444c479faa1eefe29cde2737.tar.xz
wireguard-openbsd-389f05d36ceb7e17444c479faa1eefe29cde2737.zip
Add a comment explaining why pciide(4) must skip attaching disks
Requested by kettenis@.
-rw-r--r--sys/dev/pv/hvs.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/pv/hvs.c b/sys/dev/pv/hvs.c
index d8435912d09..0666c432119 100644
--- a/sys/dev/pv/hvs.c
+++ b/sys/dev/pv/hvs.c
@@ -320,7 +320,13 @@ hvs_attach(struct device *parent, struct device *self, void *aux)
saa.saa_sc_link = &sc->sc_link;
sc->sc_scsibus = config_found(self, &saa, scsiprint);
- if (sc->sc_scsibus)
+ /*
+ * If the driver has successfully attached to an IDE
+ * device, we need to make sure that the same disk is
+ * not available to the system via pciide(4) causing
+ * DUID conflicts and preventing system from booting.
+ */
+ if (!(sc->sc_flags & HVSF_SCSI) && sc->sc_scsibus)
pciide_skip_ata = 1;
}