• Jeff Garzik's avatar
    [libata] locking rewrite (== fix) · 005a5a06
    Jeff Garzik authored
    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.
    005a5a06
libata-scsi.c 62 KB