aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_attr.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_attr.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_attr.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c
index 0f8796201504..fbcb82a2f7f4 100644
--- a/drivers/scsi/qla2xxx/qla_attr.c
+++ b/drivers/scsi/qla2xxx/qla_attr.c
@@ -1670,7 +1670,7 @@ qla24xx_vport_create(struct fc_vport *fc_vport, bool disable)
1670 1670
1671 qla24xx_vport_disable(fc_vport, disable); 1671 qla24xx_vport_disable(fc_vport, disable);
1672 1672
1673 if (ql2xmultique_tag) { 1673 if (ha->flags.cpu_affinity_enabled) {
1674 req = ha->req_q_map[1]; 1674 req = ha->req_q_map[1];
1675 goto vport_queue; 1675 goto vport_queue;
1676 } else if (ql2xmaxqueues == 1 || !ha->npiv_info) 1676 } else if (ql2xmaxqueues == 1 || !ha->npiv_info)
@@ -1736,6 +1736,11 @@ qla24xx_vport_delete(struct fc_vport *fc_vport)
1736 1736
1737 qla24xx_deallocate_vp_id(vha); 1737 qla24xx_deallocate_vp_id(vha);
1738 1738
1739 mutex_lock(&ha->vport_lock);
1740 ha->cur_vport_count--;
1741 clear_bit(vha->vp_idx, ha->vp_idx_map);
1742 mutex_unlock(&ha->vport_lock);
1743
1739 if (vha->timer_active) { 1744 if (vha->timer_active) {
1740 qla2x00_vp_stop_timer(vha); 1745 qla2x00_vp_stop_timer(vha);
1741 DEBUG15(printk ("scsi(%ld): timer for the vport[%d] = %p " 1746 DEBUG15(printk ("scsi(%ld): timer for the vport[%d] = %p "
@@ -1743,7 +1748,7 @@ qla24xx_vport_delete(struct fc_vport *fc_vport)
1743 vha->host_no, vha->vp_idx, vha)); 1748 vha->host_no, vha->vp_idx, vha));
1744 } 1749 }
1745 1750
1746 if (vha->req->id && !ql2xmultique_tag) { 1751 if (vha->req->id && !ha->flags.cpu_affinity_enabled) {
1747 if (qla25xx_delete_req_que(vha, vha->req) != QLA_SUCCESS) 1752 if (qla25xx_delete_req_que(vha, vha->req) != QLA_SUCCESS)
1748 qla_printk(KERN_WARNING, ha, 1753 qla_printk(KERN_WARNING, ha,
1749 "Queue delete failed.\n"); 1754 "Queue delete failed.\n");