From owner-cvs-src-old@FreeBSD.ORG Thu Apr 21 20:56:50 2011 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1D7D1065675 for ; Thu, 21 Apr 2011 20:56:50 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 922838FC21 for ; Thu, 21 Apr 2011 20:56:50 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id p3LKuoY4079449 for ; Thu, 21 Apr 2011 20:56:50 GMT (envelope-from mav@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id p3LKuoXY079448 for cvs-src-old@freebsd.org; Thu, 21 Apr 2011 20:56:50 GMT (envelope-from mav@repoman.freebsd.org) Message-Id: <201104212056.p3LKuoXY079448@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to mav@repoman.freebsd.org using -f From: Alexander Motin Date: Thu, 21 Apr 2011 20:56:34 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/ata/chipsets ata-intel.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Apr 2011 20:56:50 -0000 mav 2011-04-21 20:56:34 UTC FreeBSD src repository Modified files: sys/dev/ata/chipsets ata-intel.c Log: SVN rev 220929 on 2011-04-21 20:56:34Z by mav According to ATA specifications, when ATAPI master is the only device, it should respond with all zeroes to any access to slave registers. Test with PATA devices confirmed such behavior. Unluckily, Intel SATA controllers in legacy emulation mode behave differently, not making any difference between ATA and ATAPI devices. It causes false positive slave device detection and, as result, command timeouts. To workaround this problem, mask result of legacy-emulated soft-reset with the device presence information received from the SATA-specific registers. Revision Changes Path 1.26 +21 -11 src/sys/dev/ata/chipsets/ata-intel.c