Author: nwhitehorn
Date: Wed Mar 25 03:42:49 2009
New Revision: 190403
URL: http://svn.freebsd.org/changeset/base/190403

Log:
  Disable ATA DMA for ATAPI devices for now. Apparently, certain revisions
  of this controller, in combination with certain ATAPI devices and phases
  of the moon, will cause DMA operations for ATAPI to fail.

Modified:
  head/sys/powerpc/powermac/ata_macio.c

Modified: head/sys/powerpc/powermac/ata_macio.c
==============================================================================
--- head/sys/powerpc/powermac/ata_macio.c       Wed Mar 25 03:02:03 2009        
(r190402)
+++ head/sys/powerpc/powermac/ata_macio.c       Wed Mar 25 03:42:49 2009        
(r190403)
@@ -259,6 +259,10 @@ ata_macio_setmode(device_t parent, devic
 
        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;
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to