summaryrefslogtreecommitdiff
path: root/drivers/scsi/qla2xxx/qla_mid.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-11-01 02:42:08 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-11-01 02:42:08 +0400
commit1e207eb1c3f0e8b690401f02fe08e7b53903f010 (patch)
tree2b4c3e3561b06dfc92be2d332db7a8500ca08f45 /drivers/scsi/qla2xxx/qla_mid.c
parented48c06c321e8569e417db99f116ca15b9900529 (diff)
parent1a1ff38c4cebf23be8bf0009a76b082a13bd25cb (diff)
downloadlinux-1e207eb1c3f0e8b690401f02fe08e7b53903f010.tar.xz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
Pull scsi target fixes from Nicholas Bellinger: "These are the current target pending fixes headed for v3.7-rc4 code. This includes the following highlights: - Fix long-standing qla2xxx target bug where certain fc_port_t state transitions could cause the internal session b-tree list to become out-of-sync. (Roland) - Fix task management double free of se_cmd descriptor in exception path for users of target_submit_tmr(). (nab) - Re-introduce simple NOP emulation of REZERO_UNIT, SEEK_6, and SEEK_10 SCSI-2 commands in order to support legacy initiators that still require them. (Bernhard) Note these three patches are also CC'ed to stable. Also, there a couple of outstanding (external) regressions that are still being tracked down for tcm_fc(FCoE) and tcm_vhost fabrics for v3.7.0 code, so please expect another PULL as these issues identified -> resolved." * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: target: reintroduce some obsolete SCSI-2 commands target: Fix double-free of se_cmd in target_complete_tmr_failure qla2xxx: Update target lookup session tables when a target session changes tcm_qla2xxx: Format VPD page 83h SCSI name string according to SPC qla2xxx: Add missing ->vport_slock while calling qlt_update_vp_map
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mid.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_mid.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c
index bd4708a422cd..20fd974f903a 100644
--- a/drivers/scsi/qla2xxx/qla_mid.c
+++ b/drivers/scsi/qla2xxx/qla_mid.c
@@ -149,6 +149,7 @@ qla2x00_mark_vp_devices_dead(scsi_qla_host_t *vha)
int
qla24xx_disable_vp(scsi_qla_host_t *vha)
{
+ unsigned long flags;
int ret;
ret = qla24xx_control_vp(vha, VCE_COMMAND_DISABLE_VPS_LOGO_ALL);
@@ -156,7 +157,9 @@ qla24xx_disable_vp(scsi_qla_host_t *vha)
atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME);
/* Remove port id from vp target map */
+ spin_lock_irqsave(&vha->hw->vport_slock, flags);
qlt_update_vp_map(vha, RESET_AL_PA);
+ spin_unlock_irqrestore(&vha->hw->vport_slock, flags);
qla2x00_mark_vp_devices_dead(vha);
atomic_set(&vha->vp_state, VP_FAILED);