Date: Sat, 28 Feb 2009 22:07:15 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: cvs-src-old@freebsd.org 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 Message-ID: <200902282207.n1SM7JgI063890@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902282207.n1SM7JgI063890>