Date: Mon, 15 Jan 2001 17:45:46 -0800 (PST) From: klui@cup.hp.com To: freebsd-gnats-submit@FreeBSD.org Subject: kern/24368: Not having ATA_ENABLE_ATAPI_DMA still has DMA enabled in the kernel Message-ID: <200101160145.f0G1jk350647@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 24368
>Category: kern
>Synopsis: Not having ATA_ENABLE_ATAPI_DMA still has DMA enabled in the kernel
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Jan 15 17:50:01 PST 2001
>Closed-Date:
>Last-Modified:
>Originator: Ken Lui
>Release: 4.2-RELEASE
>Organization:
N/A
>Environment:
FreeBSD black 4.2-RELEASE FreeBSD 4.2-RELEASE #10: Mon Jan 15 17:16:06 PST 2001 klui@black:/usr/src/sys/compile/A7V i386
>Description:
I, like a lot of other people with the Asus A7V, have drive timeouts
when using the onboard ATA100 controller with UDMA drives. The kernel
configuration says that if ATA_ENABLE_ATAPI_DMA isn't defined, DMA mode
is not used. However, I have found that, for my A7V anyway, DMA is
always enabled during boot time and /etc/sysctl.conf doesn't always turn
off DMA mode before I get the timeouts and PIO fallback routines.
>How-To-Repeat:
Intermittent
>Fix:
Patch /usr/src/sys/dev/ata/ata-all.c.
*** ata-all.c.orig Mon Jan 15 17:42:52 2001
--- ata-all.c Mon Jan 15 16:27:01 2001
***************
*** 1750,1757 ****
--- 1750,1759 ----
for (i = 0; i < 2; i++) {
if (!scp->dev_softc[i])
strcat(ata_conf, "---,");
+ #ifdef ATA_ENABLE_ATAPI_DMA
else if (scp->mode[i] >= ATA_DMA)
strcat(ata_conf, "dma,");
+ #endif
else
strcat(ata_conf, "pio,");
}
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101160145.f0G1jk350647>
