diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_attr.c')
| -rw-r--r-- | drivers/scsi/qla2xxx/qla_attr.c | 9 |
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"); |
