summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMike Belopuhov <mikeb@cvs.openbsd.org>2017-07-13 11:23:54 +0000
committerMike Belopuhov <mikeb@cvs.openbsd.org>2017-07-13 11:23:54 +0000
commit039bf75b3b63efd78dec9f50b664b71773f8b58a (patch)
tree1a6f5f17ac535fb2adad2b3fa1cdbd0328c557e0 /sys
parent5cb7c04f0f645a0fb61d1e5767d5808528903771 (diff)
Add a comment explaining why pciide(4) must skip attaching disks
Requested by kettenis@.
Diffstat (limited to 'sys')
-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;
}