]> git.ipfire.org Git - people/arne_f/kernel.git/commit
[PATCH] libata: locking rewrite (== fix)
authorJeff Garzik <jgarzik@pobox.com>
Mon, 31 Oct 2005 17:05:36 +0000 (09:05 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 14 Dec 2005 23:42:59 +0000 (15:42 -0800)
commitd7283d61302798c0c57118e53d7732bec94f8d42
tree7e63332e460cc3034e49c113c0f40486d1d9f9c6
parent51adb32b28e76270e850235a9f61c8379376be51
[PATCH] libata: locking rewrite (== fix)

[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: Greg Kroah-Hartman <gregkh@suse.de>
drivers/scsi/libata-core.c
drivers/scsi/libata-scsi.c