From owner-cvs-src-old@FreeBSD.ORG Sat Feb 28 22:07:20 2009 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 23E2D106564A for ; Sat, 28 Feb 2009 22:07:20 +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 0FC288FC1F for ; Sat, 28 Feb 2009 22:07:20 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n1SM7JqV063891 for ; Sat, 28 Feb 2009 22:07:19 GMT (envelope-from mav@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n1SM7JgI063890 for cvs-src-old@freebsd.org; Sat, 28 Feb 2009 22:07:19 GMT (envelope-from mav@repoman.freebsd.org) Message-Id: <200902282207.n1SM7JgI063890@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to mav@repoman.freebsd.org using -f From: Alexander Motin Date: Sat, 28 Feb 2009 22:07:15 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/ata ata-all.c ata-all.h ata-disk.c ata-queue.c ata-raid.c atapi-cam.c atapi-cd.c atapi-fd.c atapi-tape.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: Sat, 28 Feb 2009 22:07:20 -0000 mav 2009-02-28 22:07:15 UTC FreeBSD src repository Modified files: sys/dev/ata ata-all.c ata-all.h ata-disk.c ata-queue.c ata-raid.c atapi-cam.c atapi-cd.c atapi-fd.c atapi-tape.c Log: SVN rev 189195 on 2009-02-28 22:07:15Z by mav Revert my ata_identify()/ata_reinit() related changes: r189166, r189091 and partially r188903. Revert breaks new drives detection on reinit to the state as it was before me, but fixes series of new bugs reported by some people. Unconditional queueing of ata_completed() calls can lead to deadlock if due to timeout ata_reinit() was called at the same thread by previous ata_completed(). Calling of ata_identify() on ata_reinit() in current implementation opens numerous races and deadlocks. Problems I was touching here are still exist and should be addresed, but probably in different way. Revision Changes Path 1.303 +41 -46 src/sys/dev/ata/ata-all.c 1.142 +1 -8 src/sys/dev/ata/ata-all.h 1.215 +0 -12 src/sys/dev/ata/ata-disk.c 1.83 +7 -1 src/sys/dev/ata/ata-queue.c 1.133 +8 -8 src/sys/dev/ata/ata-raid.c 1.61 +12 -8 src/sys/dev/ata/atapi-cam.c 1.205 +0 -12 src/sys/dev/ata/atapi-cd.c 1.119 +0 -13 src/sys/dev/ata/atapi-fd.c 1.113 +0 -12 src/sys/dev/ata/atapi-tape.c