From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Nicholas A. Bellinger" Subject: [PATCH] qla2xxx: Add missing ->vport_slock while calling qlt_update_vp_map Date: Tue, 9 Oct 2012 19:12:11 +0000 Message-ID: <1349809931-9079-1-git-send-email-nab@linux-iscsi.org> Return-path: Sender: target-devel-owner@vger.kernel.org To: target-devel Cc: linux-scsi , Nicholas Bellinger , Saurav Kashyap , Chad Dupuis , Arun Easi , Andrew Vasquez , Jiri Kosina , Roland Dreier List-Id: linux-scsi@vger.kernel.org From: Nicholas Bellinger All other callers of qlt_update_vp_map() already hold ->vport_slock while updating the vp target map, so go ahead and add the missing ->vport_slock within qla24xx_disable_vp() code. Cc: Saurav Kashyap Cc: Chad Dupuis Cc: Arun Easi Cc: Andrew Vasquez Cc: Jiri Kosina Cc: Roland Dreier Signed-off-by: Nicholas Bellinger --- drivers/scsi/qla2xxx/qla_mid.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c index 3e8b324..c7eb3bb 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); -- 1.7.2.5