]> git.baikalelectronics.ru Git - kernel.git/commit
[SCSI] libfc: Fix incorrect locking and unlocking in FCP
authorRobert Love <robert.w.love@intel.com>
Wed, 1 Dec 2010 00:18:23 +0000 (16:18 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 21 Dec 2010 18:24:20 +0000 (12:24 -0600)
commit9d0a846421e69d6bc1a62f93b09d8bb74e75da1b
tree3cca737e6945e452aeb8888c3aa36939d76aa338
parent1ff48b330acbd33a15cf5c26c27af43a1681799e
[SCSI] libfc: Fix incorrect locking and unlocking in FCP

The error handler grabs the si->scsi_queue_lock, but
in the case where the fsp pointer is NULL it releases
the scsi_host lock. This can lead to a variety of
system hangs depending on which is used first- the
scsi_host lock or the scsi_queue_lock.

This patch simply unlocks the correct lock when fcp
is NULL.

Signed-off-by: Robert Love <robert.w.love@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/libfc/fc_fcp.c