• A
    [SCSI] atari_scsi: Fix sleep_on race · eff9cf8d
    Arnd Bergmann 提交于
    sleep_on is known broken and going away. The atari_scsi driver is one of
    two remaining users in the falcon_get_lock() function, which is a rather
    crazy piece of code. This does not attempt to fix the driver's locking
    scheme in general, but at least prevents falcon_get_lock from going to
    sleep when no other thread holds the same lock or tries to get it,
    and we no longer schedule with irqs disabled.
    Signed-off-by: NArnd Bergmann <arnd@arndb.de>
    [MSch: fixed completion conditions missed in Arnds' original RFC patch]
    Signed-off-by: NMichael Schmitz <schmitz@debian.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: James E.J. Bottomley <JBottomley@parallels.com>
    Cc: linux-scsi@vger.kernel.org
    Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
    eff9cf8d
atari_scsi.c 35.0 KB