summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/powerpc/powermac/ata_macio.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/powerpc/powermac/ata_macio.c b/sys/powerpc/powermac/ata_macio.c
index 482f76e..320e86e 100644
--- a/sys/powerpc/powermac/ata_macio.c
+++ b/sys/powerpc/powermac/ata_macio.c
@@ -259,6 +259,10 @@ ata_macio_setmode(device_t parent, device_t dev)
mode = ata_limit_mode(dev, mode, sc->max_mode);
+ /* XXX Some controllers don't work correctly with ATAPI DMA */
+ if (atadev->param.config & ATA_PROTO_ATAPI)
+ mode = ata_limit_mode(dev, mode, ATA_PIO_MAX);
+
if (ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0, mode))
return;
OpenPOWER on IntegriCloud