cvs commit: src/sys/dev/ata ata-all.c ata-disk.c ata-disk.h
atapi-all.c atapi-all.h
Nate Lawson
nate at root.org
Fri Sep 5 12:50:38 PDT 2003
On Fri, 5 Sep 2003, David Greenman wrote:
> Modified files: (Branch: RELENG_4)
> sys/dev/ata ata-all.c ata-disk.c ata-disk.h
> atapi-all.c atapi-all.h
> Log:
> Fixed panics that will occur during attempts to rescan ATA disk devices
> (which occur after disk errors). The panic is due to attempts to acquire
> the ATA channel lock multiple times (at different levels), with the second
> attempt trying to sleep in an interrupt context. The fix is to indicate
> to the other levels that we already have the lock.
> The problem has been fixed in -current a different way and isn't portable
> to -stable.
>
> Reviewed by: sos at freebsd.org
> Approved by: re at freebsd.org
>
> Revision Changes Path
> 1.50.2.47 +12 -12 src/sys/dev/ata/ata-all.c
> 1.60.2.27 +3 -2 src/sys/dev/ata/ata-disk.c
> 1.22.2.9 +1 -1 src/sys/dev/ata/ata-disk.h
> 1.46.2.20 +3 -2 src/sys/dev/ata/atapi-all.c
> 1.22.2.12 +1 -1 src/sys/dev/ata/atapi-all.h
Yikes, invasive. Is there a way to do a "if (held(lock))" construct
instead?
-Nate
More information about the cvs-src
mailing list