summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/atapi-fd.c
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2002-12-03 20:20:44 +0000
committersos <sos@FreeBSD.org>2002-12-03 20:20:44 +0000
commit71edc5e4eb36ba021cec4018ead8d4e7bd6d759d (patch)
tree905ab8bf0e6cc6504398fed7db55f39319883169 /sys/dev/ata/atapi-fd.c
parent9a5da33a40507cd3fd2cebf1aa8999a6cdd27862 (diff)
downloadFreeBSD-src-71edc5e4eb36ba021cec4018ead8d4e7bd6d759d.zip
FreeBSD-src-71edc5e4eb36ba021cec4018ead8d4e7bd6d759d.tar.gz
Add support for the PC98 platform to the ATA driver.
This mostly consists of functionality to serialize accesses to the two ATA channels (which can also be used to "fix" certain PCI based controllers). Add support for Acard controllers. Enable the ATA driver in PC98 GENERIC, and add device hints. Update man page with latest support. The PC98 core team has kindly provided me with a PC98 machine that made this all possible, thanks to all that contributed to that effort, without that this would probably newer have been possible.. Approved by: re@
Diffstat (limited to 'sys/dev/ata/atapi-fd.c')
-rw-r--r--sys/dev/ata/atapi-fd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/ata/atapi-fd.c b/sys/dev/ata/atapi-fd.c
index e5f887a..2bdbe9d 100644
--- a/sys/dev/ata/atapi-fd.c
+++ b/sys/dev/ata/atapi-fd.c
@@ -225,6 +225,10 @@ afdopen(dev_t dev, int flags, int fmt, struct thread *td)
{
struct afd_softc *fdp = dev->si_drv1;
+ /* hold off access to we are fully attached */
+ while (ata_delayed_attach)
+ tsleep(&ata_delayed_attach, PRIBIO, "afdopn", 1);
+
atapi_test_ready(fdp->device);
if (count_dev(dev) == 1)
OpenPOWER on IntegriCloud