[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)
commit3c2c3bf23cbef8eed6cf815715d0bece5cb7b5ec
tree3cca737e6945e452aeb8888c3aa36939d76aa338
parent2034c19ce8f8503aa14cb1e763fbfe60316aaa8e
[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