]> git.baikalelectronics.ru Git - kernel.git/commit
[SCSI] libata: fix locking for sas paths
authorJames Bottomley <James.Bottomley@suse.de>
Sun, 23 Jan 2011 14:30:00 +0000 (08:30 -0600)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 13 Feb 2011 19:16:24 +0000 (13:16 -0600)
commitec8b4552b947e50f08477025aa84eee4dd3d4cef
tree54e2681157bc050d5f3fed9c27b3c6209478d6b7
parent3731093463ea271d53c0c7d6a1f34146a0ca67ec
[SCSI] 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.

Cc: Tejun Heo <tj@kernel.org>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/ata/libata-scsi.c