diff options
Diffstat (limited to 'sys/powerpc/powermac/ata_macio.c')
-rw-r--r-- | sys/powerpc/powermac/ata_macio.c | 4 |
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; |