[issue1754] Do not announce I/O sizes that require 48-bit DMA on early ALI chipsets (via FreeBSD 206604)

Venkatesh Srinivas (via DragonFly issue tracker) sinknull at leaf.dragonflybsd.org
Thu Apr 29 23:42:39 PDT 2010


New submission from Venkatesh Srinivas <me at acm.jhu.edu>:

FreeBSD commit 206604: "For early ALI chips do not announce I/O sizes that
require unsupported 48bit DMA commands."

--- /usr/src/sys/dev/disk/nata/ata-chipset.c	2010-02-23 09:32:42 -0800
+++ ata-chipset.c	2010-04-29 23:32:42 -0700
@@ -1167,8 +1167,11 @@
 	return ENXIO;
 
     /* older chips can't do 48bit DMA transfers */
-    if (ctlr->chip->chiprev <= 0xc4)
+    if (ctlr->chip->chiprev <= 0xc4) {
 	ch->flags |= ATA_NO_48BIT_DMA;
+	if (ch->dma->max_iosize > 256 * 512)
+		ch->dma->max_iosize = 256 * 512;
+    }
 
     return 0;
 }

----------
messages: 8541
nosy: vsrinivas
status: unread
title: Do not announce I/O sizes that require 48-bit DMA on early ALI chipsets (via FreeBSD 206604)

_____________________________________________________
DragonFly issue tracker <bugs at lists.dragonflybsd.org>
<http://bugs.dragonflybsd.org/issue1754>
_____________________________________________________






More information about the Bugs mailing list