diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_init.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 3cafbef4073..259f5113749 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
@@ -71,7 +71,7 @@ qla2x00_ctx_sp_free(srb_t *sp) | |||
71 | struct srb_iocb *iocb = ctx->u.iocb_cmd; | 71 | struct srb_iocb *iocb = ctx->u.iocb_cmd; |
72 | struct scsi_qla_host *vha = sp->fcport->vha; | 72 | struct scsi_qla_host *vha = sp->fcport->vha; |
73 | 73 | ||
74 | del_timer_sync(&iocb->timer); | 74 | del_timer(&iocb->timer); |
75 | kfree(iocb); | 75 | kfree(iocb); |
76 | kfree(ctx); | 76 | kfree(ctx); |
77 | mempool_free(sp, sp->fcport->vha->hw->srb_mempool); | 77 | mempool_free(sp, sp->fcport->vha->hw->srb_mempool); |
@@ -1344,6 +1344,13 @@ cont_alloc: | |||
1344 | qla_printk(KERN_WARNING, ha, "Unable to allocate (%d KB) for " | 1344 | qla_printk(KERN_WARNING, ha, "Unable to allocate (%d KB) for " |
1345 | "firmware dump!!!\n", dump_size / 1024); | 1345 | "firmware dump!!!\n", dump_size / 1024); |
1346 | 1346 | ||
1347 | if (ha->fce) { | ||
1348 | dma_free_coherent(&ha->pdev->dev, FCE_SIZE, ha->fce, | ||
1349 | ha->fce_dma); | ||
1350 | ha->fce = NULL; | ||
1351 | ha->fce_dma = 0; | ||
1352 | } | ||
1353 | |||
1347 | if (ha->eft) { | 1354 | if (ha->eft) { |
1348 | dma_free_coherent(&ha->pdev->dev, eft_size, ha->eft, | 1355 | dma_free_coherent(&ha->pdev->dev, eft_size, ha->eft, |
1349 | ha->eft_dma); | 1356 | ha->eft_dma); |
@@ -1818,14 +1825,14 @@ qla2x00_init_rings(scsi_qla_host_t *vha) | |||
1818 | qla2x00_init_response_q_entries(rsp); | 1825 | qla2x00_init_response_q_entries(rsp); |
1819 | } | 1826 | } |
1820 | 1827 | ||
1821 | spin_lock_irqsave(&ha->vport_slock, flags); | 1828 | spin_lock(&ha->vport_slock); |
1822 | /* Clear RSCN queue. */ | 1829 | /* Clear RSCN queue. */ |
1823 | list_for_each_entry(vp, &ha->vp_list, list) { | 1830 | list_for_each_entry(vp, &ha->vp_list, list) { |
1824 | vp->rscn_in_ptr = 0; | 1831 | vp->rscn_in_ptr = 0; |
1825 | vp->rscn_out_ptr = 0; | 1832 | vp->rscn_out_ptr = 0; |
1826 | } | 1833 | } |
1827 | 1834 | ||
1828 | spin_unlock_irqrestore(&ha->vport_slock, flags); | 1835 | spin_unlock(&ha->vport_slock); |
1829 | 1836 | ||
1830 | ha->isp_ops->config_rings(vha); | 1837 | ha->isp_ops->config_rings(vha); |
1831 | 1838 | ||
@@ -2916,21 +2923,13 @@ qla2x00_reg_remote_port(scsi_qla_host_t *vha, fc_port_t *fcport) | |||
2916 | void | 2923 | void |
2917 | qla2x00_update_fcport(scsi_qla_host_t *vha, fc_port_t *fcport) | 2924 | qla2x00_update_fcport(scsi_qla_host_t *vha, fc_port_t *fcport) |
2918 | { | 2925 | { |
2919 | struct qla_hw_data *ha = vha->hw; | ||
2920 | |||
2921 | fcport->vha = vha; | 2926 | fcport->vha = vha; |
2922 | fcport->login_retry = 0; | 2927 | fcport->login_retry = 0; |
2923 | fcport->port_login_retry_count = ha->port_down_retry_count * | ||
2924 | PORT_RETRY_TIME; | ||
2925 | atomic_set(&fcport->port_down_timer, ha->port_down_retry_count * | ||
2926 | PORT_RETRY_TIME); | ||
2927 | fcport->flags &= ~(FCF_LOGIN_NEEDED | FCF_ASYNC_SENT); | 2928 | fcport->flags &= ~(FCF_LOGIN_NEEDED | FCF_ASYNC_SENT); |
2928 | 2929 | ||
2929 | qla2x00_iidma_fcport(vha, fcport); | 2930 | qla2x00_iidma_fcport(vha, fcport); |
2930 | |||
2931 | atomic_set(&fcport->state, FCS_ONLINE); | ||
2932 | |||
2933 | qla2x00_reg_remote_port(vha, fcport); | 2931 | qla2x00_reg_remote_port(vha, fcport); |
2932 | atomic_set(&fcport->state, FCS_ONLINE); | ||
2934 | } | 2933 | } |
2935 | 2934 | ||
2936 | /* | 2935 | /* |
@@ -3292,8 +3291,9 @@ qla2x00_find_all_fabric_devs(scsi_qla_host_t *vha, | |||
3292 | continue; | 3291 | continue; |
3293 | 3292 | ||
3294 | /* Bypass ports whose FCP-4 type is not FCP_SCSI */ | 3293 | /* Bypass ports whose FCP-4 type is not FCP_SCSI */ |
3295 | if (new_fcport->fc4_type != FC4_TYPE_FCP_SCSI && | 3294 | if (ql2xgffidenable && |
3296 | new_fcport->fc4_type != FC4_TYPE_UNKNOWN) | 3295 | (new_fcport->fc4_type != FC4_TYPE_FCP_SCSI && |
3296 | new_fcport->fc4_type != FC4_TYPE_UNKNOWN)) | ||
3297 | continue; | 3297 | continue; |
3298 | 3298 | ||
3299 | /* Locate matching device in database. */ | 3299 | /* Locate matching device in database. */ |