From owner-freebsd-bugs@FreeBSD.ORG Thu May 30 16:20:00 2013 Return-Path: Delivered-To: freebsd-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AA119EE0 for ; Thu, 30 May 2013 16:20:00 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 777C02F8 for ; Thu, 30 May 2013 16:20:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r4UGK0uf099200 for ; Thu, 30 May 2013 16:20:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r4UGK0Li099199; Thu, 30 May 2013 16:20:00 GMT (envelope-from gnats) Resent-Date: Thu, 30 May 2013 16:20:00 GMT Resent-Message-Id: <201305301620.r4UGK0Li099199@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "Majdi S. Abbas" Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 09615DE9 for ; Thu, 30 May 2013 16:17:03 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from oldred.FreeBSD.org (oldred.freebsd.org [8.8.178.121]) by mx1.freebsd.org (Postfix) with ESMTP id F04702BF for ; Thu, 30 May 2013 16:17:02 +0000 (UTC) Received: from oldred.FreeBSD.org ([127.0.1.6]) by oldred.FreeBSD.org (8.14.5/8.14.5) with ESMTP id r4UGH2fC023890 for ; Thu, 30 May 2013 16:17:02 GMT (envelope-from nobody@oldred.FreeBSD.org) Received: (from nobody@localhost) by oldred.FreeBSD.org (8.14.5/8.14.5/Submit) id r4UGH2ZT023889; Thu, 30 May 2013 16:17:02 GMT (envelope-from nobody) Message-Id: <201305301617.r4UGH2ZT023889@oldred.FreeBSD.org> Date: Thu, 30 May 2013 16:17:02 GMT From: "Majdi S. Abbas" To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Subject: misc/179113: ATA DMA does not fall back on systems that misreport capability X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 May 2013 16:20:00 -0000 >Number: 179113 >Category: misc >Synopsis: ATA DMA does not fall back on systems that misreport capability >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu May 30 16:20:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Majdi S. Abbas >Release: 9.1-RELEASE/i386 >Organization: Lattice, L.L.C. >Environment: FreeBSD procyon.latt.net 9.1-RELEASE FreeBSD 9.1-RELEASE #2: Wed May 29 16:01:42 UTC 2013 msa@procyon.latt.net:/usr/src/sys/i386/compile/NET4801 i386 >Description: The system in question is a Soekris NET4801, running from a Kingston CF card. This CF card reports DMA capability, which the internal PATA/CF adapter does not support. As a result, when the kernel is booting, it will sit there and retry UDMA_66 access to the drive indefinitely. It claims to timeout after the 5th retry, but will, in fact, retry continuously. >How-To-Repeat: Attempt to boot (or access media) on any system that has an PATA-CF adapter that does not have the two additional pins required to support DMA. >Fix: While disabling DMA by handing hw.ata.ata_dma=0 to the loader works, NetBSD has an interesting approach here that requires no user intervention. I installed NetBSD 6.1/i386 on the same machine as a test, and the NetBSD kernel will attempt UDMA_66 3 times, and then fall back to UDMA_33, attempt 3 times, and then fall back to PIO mode. Something like this may make sense for FreeBSD, as it will reduce failures to boot or access media. >Release-Note: >Audit-Trail: >Unformatted: