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
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
>   Approved by:    re at
>   Revision   Changes    Path
>  +12 -12    src/sys/dev/ata/ata-all.c
>  +3 -2      src/sys/dev/ata/ata-disk.c
>   +1 -1      src/sys/dev/ata/ata-disk.h
>  +3 -2      src/sys/dev/ata/atapi-all.c
>  +1 -1      src/sys/dev/ata/atapi-all.h

Yikes, invasive.  Is there a way to do a "if (held(lock))" construct


More information about the cvs-src mailing list