libata: fix locking for sas paths
authorJames Bottomley <James.Bottomley@suse.de>
Sun, 23 Jan 2011 14:30:00 +0000 (08:30 -0600)
committerJeff Garzik <jgarzik@redhat.com>
Wed, 2 Mar 2011 07:36:45 +0000 (02:36 -0500)
commita29b5dad46ee4168c8fc18e47dabbde49790527b
tree8d0c2a11487a485ebf719cebb9af9b12423bf439
parent238c9cf9ea88bbbb9fd0f60c2cc9511c10b4585c
libata: fix locking for sas paths

For historical reasons, libsas uses the scsi host lock as the ata port
lock, and libata always uses the ata host.  For the old eh, this was
largely irrelevant since the two locks were never mixed inside the
code.  However, the new eh has a case where it nests acquisition of
the host lock inside the port lock (this does look rather deadlock
prone).  Obviously this would be an instant deadlock if the port lock
were the host lock, so switch the libsas paths to use the ata host
lock as well.

Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-scsi.c