• Jeff Garzik's avatar
    [PATCH] libata: locking rewrite (== fix) · d7283d61
    Jeff Garzik authored
    [libata] locking rewrite (== fix)
    
    A lot of power packed into a little patch.
    
    This change eliminates the sharing between our controller-wide spinlock
    and the SCSI core's Scsi_Host lock.  As the locking in libata was
    already highly compartmentalized, always referencing our own lock, and
    never scsi_host::host_lock.
    
    As a side effect, this change eliminates a deadlock from calling
    scsi_finish_command() while inside our spinlock.
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    d7283d61
libata-scsi.c 41.1 KB