]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
scsi: qla2xxx: Cleanup for N2N code
authorHimanshu Madhani <himanshu.madhani@cavium.com>
Thu, 2 Aug 2018 20:16:43 +0000 (13:16 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 2 Aug 2018 20:56:18 +0000 (16:56 -0400)
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_init.c
drivers/scsi/qla2xxx/qla_iocb.c

index 7b675243bd16c61a703cffa69c0f5f0a55a62ea6..1de78697dc0d129373bae2b75234f94c2f1a48f1 100644 (file)
@@ -4686,110 +4686,6 @@ qla2x00_configure_loop(scsi_qla_host_t *vha)
        return (rval);
 }
 
-/*
- * N2N Login
- *     Updates Fibre Channel Device Database with local loop devices.
- *
- * Input:
- *     ha = adapter block pointer.
- *
- * Returns:
- */
-static int qla24xx_n2n_handle_login(struct scsi_qla_host *vha,
-                                   fc_port_t *fcport)
-{
-       struct qla_hw_data *ha = vha->hw;
-       int     res = QLA_SUCCESS, rval;
-       int     greater_wwpn = 0;
-       int     logged_in = 0;
-
-       if (ha->current_topology != ISP_CFG_N)
-               return res;
-
-       if (wwn_to_u64(vha->port_name) >
-           wwn_to_u64(vha->n2n_port_name)) {
-               ql_dbg(ql_dbg_disc, vha, 0x2002,
-                   "HBA WWPN is greater %llx > target %llx\n",
-                   wwn_to_u64(vha->port_name),
-                   wwn_to_u64(vha->n2n_port_name));
-               greater_wwpn = 1;
-               fcport->d_id.b24 = vha->n2n_id;
-       }
-
-       fcport->loop_id = vha->loop_id;
-       fcport->fc4f_nvme = 0;
-       fcport->query = 1;
-
-       ql_dbg(ql_dbg_disc, vha, 0x4001,
-           "Initiate N2N login handler: HBA port_id=%06x loopid=%d\n",
-           fcport->d_id.b24, vha->loop_id);
-
-       /* Fill in member data. */
-       if (!greater_wwpn) {
-               rval = qla2x00_get_port_database(vha, fcport, 0);
-               ql_dbg(ql_dbg_disc, vha, 0x1051,
-                   "Remote login-state (%x/%x) port_id=%06x loop_id=%x, rval=%d\n",
-                   fcport->current_login_state, fcport->last_login_state,
-                   fcport->d_id.b24, fcport->loop_id, rval);
-
-               if (((fcport->current_login_state & 0xf) == 0x4) ||
-                   ((fcport->current_login_state & 0xf) == 0x6))
-                       logged_in = 1;
-       }
-
-       if (logged_in || greater_wwpn) {
-               if (!vha->nvme_local_port && vha->flags.nvme_enabled)
-                       qla_nvme_register_hba(vha);
-
-               /* Set connected N_Port d_id */
-               if (vha->flags.nvme_enabled)
-                       fcport->fc4f_nvme = 1;
-
-               fcport->scan_state = QLA_FCPORT_FOUND;
-               fcport->fw_login_state = DSC_LS_PORT_UNAVAIL;
-               fcport->disc_state = DSC_GNL;
-               fcport->n2n_flag = 1;
-               fcport->flags = 3;
-               vha->hw->flags.gpsc_supported = 0;
-
-               if (greater_wwpn) {
-                       ql_dbg(ql_dbg_disc, vha, 0x20e5,
-                           "%s %d PLOGI ELS %8phC\n",
-                           __func__, __LINE__, fcport->port_name);
-
-                       res = qla24xx_els_dcmd2_iocb(vha, ELS_DCMD_PLOGI,
-                           fcport, fcport->d_id);
-               }
-
-               if (res != QLA_SUCCESS) {
-                       ql_log(ql_log_info, vha, 0xd04d,
-                           "PLOGI Failed: portid=%06x - retrying\n",
-                           fcport->d_id.b24);
-                       res = QLA_SUCCESS;
-               } else {
-                       /* State 0x6 means FCP PRLI complete */
-                       if ((fcport->current_login_state & 0xf) == 0x6) {
-                               ql_dbg(ql_dbg_disc, vha, 0x2118,
-                                   "%s %d %8phC post GPDB work\n",
-                                   __func__, __LINE__, fcport->port_name);
-                               fcport->chip_reset =
-                                   vha->hw->base_qpair->chip_reset;
-                               qla24xx_post_gpdb_work(vha, fcport, 0);
-                       } else {
-                               ql_dbg(ql_dbg_disc, vha, 0x2118,
-                                   "%s %d %8phC post NVMe PRLI\n",
-                                   __func__, __LINE__, fcport->port_name);
-                               qla24xx_post_prli_work(vha, fcport);
-                       }
-               }
-       } else {
-               /* Wait for next database change */
-               set_bit(N2N_LOGIN_NEEDED, &vha->dpc_flags);
-       }
-
-       return res;
-}
-
 /*
  * qla2x00_configure_local_loop
  *     Updates Fibre Channel Device Database with local loop devices.
@@ -4847,14 +4743,6 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha)
        }
        new_fcport->flags &= ~FCF_FABRIC_DEVICE;
 
-       /* Inititae N2N login. */
-       if (test_and_clear_bit(N2N_LOGIN_NEEDED, &vha->dpc_flags)) {
-               rval = qla24xx_n2n_handle_login(vha, new_fcport);
-               if (rval != QLA_SUCCESS)
-                       goto cleanup_allocation;
-               return QLA_SUCCESS;
-       }
-
        /* Add devices to port list. */
        id_iter = (char *)ha->gid_list;
        for (index = 0; index < entries; index++) {
index a91cca52b5d5be5a262270ae6b0cbefe5a72a8bf..b349e9b94c08cc61b955d7be6b429ef4e52c8ccc 100644 (file)
@@ -2567,26 +2567,6 @@ qla24xx_els_logo_iocb(srb_t *sp, struct els_entry_24xx *els_iocb)
        sp->vha->qla_stats.control_requests++;
 }
 
-static void
-qla2x00_els_dcmd2_sp_free(void *data)
-{
-       srb_t *sp = data;
-       struct srb_iocb *elsio = &sp->u.iocb_cmd;
-
-       if (elsio->u.els_plogi.els_plogi_pyld)
-               dma_free_coherent(&sp->vha->hw->pdev->dev, DMA_POOL_SIZE,
-                   elsio->u.els_plogi.els_plogi_pyld,
-                   elsio->u.els_plogi.els_plogi_pyld_dma);
-
-       if (elsio->u.els_plogi.els_resp_pyld)
-               dma_free_coherent(&sp->vha->hw->pdev->dev, DMA_POOL_SIZE,
-                   elsio->u.els_plogi.els_resp_pyld,
-                   elsio->u.els_plogi.els_resp_pyld_dma);
-
-       del_timer(&elsio->timer);
-       qla2x00_rel_sp(sp);
-}
-
 static void
 qla2x00_els_dcmd2_iocb_timeout(void *data)
 {
@@ -2648,10 +2628,6 @@ qla24xx_els_dcmd2_iocb(scsi_qla_host_t *vha, int els_opcode,
        }
 
        elsio = &sp->u.iocb_cmd;
-       fcport->d_id.b.domain = remote_did.b.domain;
-       fcport->d_id.b.area = remote_did.b.area;
-       fcport->d_id.b.al_pa = remote_did.b.al_pa;
-
        ql_dbg(ql_dbg_io, vha, 0x3073,
            "Enter: PLOGI portid=%06x\n", fcport->d_id.b24);
 
@@ -2664,7 +2640,6 @@ qla24xx_els_dcmd2_iocb(scsi_qla_host_t *vha, int els_opcode,
        qla2x00_init_timer(sp, ELS_DCMD_TIMEOUT);
 
        sp->done = qla2x00_els_dcmd2_sp_done;
-       sp->free = qla2x00_els_dcmd2_sp_free;
 
        ptr = elsio->u.els_plogi.els_plogi_pyld =
            dma_alloc_coherent(&ha->pdev->dev, DMA_POOL_SIZE,