Lines Matching refs:fcport
16 static uint16_t qla_edif_sadb_get_sa_index(fc_port_t *fcport,
18 static int qla_edif_sadb_delete_sa_index(fc_port_t *fcport, uint16_t nport_handle,
80 static struct edif_list_entry *qla_edif_list_find_sa_index(fc_port_t *fcport,
85 struct list_head *indx_list = &fcport->edif.edif_indx_list;
98 fc_port_t *fcport = edif_entry->fcport;
99 struct scsi_qla_host *vha = fcport->vha;
106 __func__, edif_entry->handle, fcport->port_name, fcport->d_id.b24);
112 spin_lock_irqsave(&fcport->edif.indx_list_lock, flags);
126 spin_unlock_irqrestore(&fcport->edif.indx_list_lock, flags);
128 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport,
139 qla_post_sa_replace_work(fcport->vha, fcport,
148 spin_unlock_irqrestore(&fcport->edif.indx_list_lock, flags);
156 static int qla_edif_list_add_sa_update_index(fc_port_t *fcport,
163 entry = qla_edif_list_find_sa_index(fcport, handle);
187 spin_lock_irqsave(&fcport->edif.indx_list_lock, flags);
188 list_add_tail(&entry->next, &fcport->edif.edif_indx_list);
189 spin_unlock_irqrestore(&fcport->edif.indx_list_lock, flags);
194 static void qla_edif_list_delete_sa_index(fc_port_t *fcport, struct edif_list_entry *entry)
198 spin_lock_irqsave(&fcport->edif.indx_list_lock, flags);
200 spin_unlock_irqrestore(&fcport->edif.indx_list_lock, flags);
204 fc_port_t *fcport, uint16_t nport_handle, struct edif_sa_ctl *sa_ctl)
212 e->u.sa_update.fcport = fcport;
215 fcport->flags |= FCF_ASYNC_ACTIVE;
220 qla_edif_sa_ctl_init(scsi_qla_host_t *vha, struct fc_port *fcport)
223 "Init SA_CTL List for fcport - nn %8phN pn %8phN portid=%06x.\n",
224 fcport->node_name, fcport->port_name, fcport->d_id.b24);
226 fcport->edif.tx_rekey_cnt = 0;
227 fcport->edif.rx_rekey_cnt = 0;
229 fcport->edif.tx_bytes = 0;
230 fcport->edif.rx_bytes = 0;
234 fc_port_t *fcport)
259 qla_pur_get_pending(vha, fcport, bsg_job);
263 __func__, sc_to_str(p->sub_cmd), fcport->port_name,
264 fcport->d_id.b24, rpl->rx_xchg_address,
318 qla_edif_free_sa_ctl(fc_port_t *fcport, struct edif_sa_ctl *sa_ctl,
323 spin_lock_irqsave(&fcport->edif.sa_list_lock, flags);
325 spin_unlock_irqrestore(&fcport->edif.sa_list_lock, flags);
327 fcport->edif.tx_rekey_cnt--;
329 fcport->edif.rx_rekey_cnt--;
334 static void qla_edif_add_sa_index_to_freepool(fc_port_t *fcport, int dir,
338 struct scsi_qla_host *vha = fcport->vha;
361 struct fc_port *fcport, struct edif_sa_index_entry *entry,
373 if (fcport->loop_id != entry->handle) {
376 __func__, i, entry->handle, fcport->loop_id,
381 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport,
384 qla_edif_find_sa_ctl_by_index(fcport, sa_ctl->index, pdir)) {
387 qla_edif_free_sa_ctl(fcport, sa_ctl, sa_ctl->index);
400 qla_edif_add_sa_index_to_freepool(fcport, dir,
406 qla_edif_list_find_sa_index(fcport, entry->handle);
412 qla_edif_list_delete_sa_index(fcport, edif_entry);
422 fcport->edif.rx_sa_set = 1;
423 fcport->edif.rx_sa_pending = 0;
427 QL_VND_RX_SA_KEY, fcport);
445 void qla2x00_release_all_sadb(struct scsi_qla_host *vha, struct fc_port *fcport)
457 if (entry->fcport == fcport) {
460 __qla2x00_release_all_sadb(vha, fcport, entry, 0);
468 if (entry->fcport == fcport) {
472 __qla2x00_release_all_sadb(vha, fcport, entry, SAU_FLG_TX);
492 struct fc_port *fcport;
499 fcport = NULL;
500 list_for_each_entry(fcport, &vha->vp_fcports, list) {
501 if (!fcport->n2n_flag)
504 ql_dbg(ql_dbg_disc, fcport->vha, 0x2016,
507 qla_edif_sa_ctl_init(vha, fcport);
508 qlt_schedule_sess_for_deletion(fcport);
511 if (fcport->disc_state != DSC_DELETE_PEND) {
540 struct fc_port *fcport, *tf;
560 list_for_each_entry_safe(fcport, tf, &vha->vp_fcports, list)
561 fcport->n2n_link_reset_cnt = 0;
585 list_for_each_entry_safe(fcport, tf, &vha->vp_fcports, list) {
588 fcport->node_name, fcport->port_name,
589 fcport->d_id.b24);
595 __func__, fcport->se_sess, fcport,
596 fcport->port_name, fcport->loop_id,
597 fcport->d_id.b24, fcport->logout_on_delete,
598 fcport->keep_nport_handle, fcport->send_els_logo,
599 fcport->disc_state, fcport->edif.auth_state,
600 fcport->edif.app_stop);
605 fcport->login_retry = vha->hw->login_retry_count;
607 fcport->edif.app_stop = 0;
608 fcport->edif.app_sess_online = 0;
610 if (fcport->scan_state != QLA_FCPORT_FOUND)
613 if (fcport->port_type == FCT_UNKNOWN &&
614 !fcport->fc4_features)
615 rval = qla24xx_async_gffid(vha, fcport, true);
617 if (!rval && !(fcport->fc4_features & FC4_FF_TARGET ||
618 fcport->port_type & (FCT_TARGET|FCT_NVME_TARGET)))
625 __func__, fcport->port_name);
626 qlt_schedule_sess_for_deletion(fcport);
627 qla_edif_sa_ctl_init(vha, fcport);
675 struct fc_port *fcport, *tf;
690 list_for_each_entry_safe(fcport, tf, &vha->vp_fcports, list) {
691 if (!(fcport->flags & FCF_FCSP_DEVICE))
694 if (fcport->flags & FCF_FCSP_DEVICE) {
697 __func__, fcport,
698 fcport->port_name, fcport->loop_id, fcport->d_id.b24,
699 fcport->logout_on_delete, fcport->keep_nport_handle,
700 fcport->send_els_logo);
705 fcport->edif.app_stop = 1;
708 __func__, fcport->port_name);
710 fcport->send_els_logo = 1;
711 qlt_schedule_sess_for_deletion(fcport);
724 qla_edif_app_chk_sa_update(scsi_qla_host_t *vha, fc_port_t *fcport,
729 if (!(fcport->edif.rx_sa_set && fcport->edif.tx_sa_set)) {
732 __func__, fcport->port_name, fcport->edif.tx_sa_set,
733 fcport->edif.rx_sa_set);
739 fcport->port_name);
740 fcport->edif.rx_sa_set = fcport->edif.tx_sa_set = 0;
741 fcport->edif.rx_sa_pending = fcport->edif.tx_sa_pending = 0;
759 fc_port_t *fcport = NULL;
774 fcport = qla2x00_find_fcport_by_wwpn(vha,
776 if (!fcport)
782 fcport = qla2x00_find_fcport_by_pid(vha, &portid);
783 if (!fcport)
795 if (!fcport) {
804 if (atomic_read(&fcport->state) == FCS_ONLINE) {
809 qla_edif_app_chk_sa_update(vha, fcport, &appplogireply);
814 if (fcport->disc_state != DSC_LOGIN_AUTH_PEND) {
817 __func__, fcport->port_name, fcport->disc_state);
825 fcport->edif.authok = 1;
826 if (!(fcport->edif.rx_sa_set && fcport->edif.tx_sa_set)) {
829 __func__, fcport->port_name, fcport->edif.tx_sa_set,
830 fcport->edif.rx_sa_set);
838 fcport->port_name);
839 fcport->edif.rx_sa_set = fcport->edif.tx_sa_set = 0;
840 fcport->edif.rx_sa_pending = fcport->edif.tx_sa_pending = 0;
846 __func__, fcport->port_name);
847 qla24xx_post_prli_work(vha, fcport);
872 fc_port_t *fcport = NULL;
892 fcport = qla2x00_find_fcport_by_wwpn(vha,
897 fcport = qla2x00_find_fcport_by_pid(vha, &portid);
898 if (!fcport)
915 "%s fcport is 0x%p\n", __func__, fcport);
917 if (fcport) {
921 __func__, fcport->port_name, fcport->loop_id, fcport->d_id.b24);
923 if (qla_ini_mode_enabled(fcport->vha)) {
924 fcport->send_els_logo = 1;
925 qlt_schedule_sess_for_deletion(fcport);
962 struct fc_port *fcport = NULL, *tf;
966 list_for_each_entry_safe(fcport, tf, &vha->vp_fcports, list) {
967 if (!(fcport->flags & FCF_FCSP_DEVICE))
981 if (tdid.b24 != 0 && tdid.b24 != fcport->d_id.b24)
985 if (fcport->scan_state != QLA_FCPORT_FOUND)
988 if (fcport->port_type == FCT_UNKNOWN &&
989 !fcport->fc4_features)
990 rval = qla24xx_async_gffid(vha, fcport,
994 !(fcport->fc4_features & FC4_FF_TARGET ||
995 fcport->port_type &
1005 if (fcport->port_type & (FCT_NVME_TARGET | FCT_TARGET))
1008 if (fcport->port_type & (FCT_NVME_INITIATOR | FCT_INITIATOR))
1012 app_reply->ports[pcnt].remote_pid = fcport->d_id;
1015 "Found FC_SP fcport - nn %8phN pn %8phN pcnt %d portid=%06x secure %d.\n",
1016 fcport->node_name, fcport->port_name, pcnt,
1017 fcport->d_id.b24, fcport->flags & FCF_FCSP_DEVICE);
1019 switch (fcport->edif.auth_state) {
1021 if (fcport->disc_state == DSC_LOGIN_AUTH_PEND) {
1022 fcport->edif.auth_state = VND_CMD_AUTH_STATE_NEEDED;
1031 app_reply->ports[pcnt].auth_state = fcport->edif.auth_state;
1036 fcport->port_name, 8);
1039 (atomic_read(&fcport->state) ==
1097 struct fc_port *fcport = NULL, *tf;
1101 list_for_each_entry_safe(fcport, tf, &vha->vp_fcports, list) {
1102 if (fcport->edif.enable) {
1107 fcport->edif.rekey_cnt;
1109 fcport->edif.tx_bytes;
1111 fcport->edif.rx_bytes;
1114 fcport->port_name, 8);
1137 struct fc_port *fcport;
1148 fcport = qla2x00_find_fcport_by_pid(vha, &ack.port_id);
1151 if (!fcport) {
1153 "%s: unable to find fcport %06x \n",
1160 fcport->edif.sess_down_acked = 1;
1387 qla_edif_add_sa_ctl(fc_port_t *fcport, struct qla_sa_update_frame *sa_frame,
1398 ql_dbg(ql_dbg_edif, fcport->vha, 0x9100,
1412 sa_ctl->fcport = fcport;
1415 ql_dbg(ql_dbg_edif, fcport->vha, 0x9100,
1418 spin_lock_irqsave(&fcport->edif.sa_list_lock, flags);
1420 list_add_tail(&sa_ctl->next, &fcport->edif.tx_sa_list);
1422 list_add_tail(&sa_ctl->next, &fcport->edif.rx_sa_list);
1423 spin_unlock_irqrestore(&fcport->edif.sa_list_lock, flags);
1429 qla_edif_flush_sa_ctl_lists(fc_port_t *fcport)
1434 spin_lock_irqsave(&fcport->edif.sa_list_lock, flags);
1436 list_for_each_entry_safe(sa_ctl, tsa_ctl, &fcport->edif.tx_sa_list,
1442 list_for_each_entry_safe(sa_ctl, tsa_ctl, &fcport->edif.rx_sa_list,
1448 spin_unlock_irqrestore(&fcport->edif.sa_list_lock, flags);
1452 qla_edif_find_sa_ctl_by_index(fc_port_t *fcport, int index, int dir)
1458 sa_list = &fcport->edif.tx_sa_list;
1460 sa_list = &fcport->edif.rx_sa_list;
1472 qla24xx_check_sadb_avail_slot(struct bsg_job *bsg_job, fc_port_t *fcport,
1482 sa_index = qla_edif_sadb_get_sa_index(fcport, sa_frame);
1485 ql_dbg(ql_dbg_edif, fcport->vha, 0x3063,
1487 __func__, fcport->loop_id, sa_frame->spi);
1490 fcport->edif.rx_sa_set = 1;
1491 fcport->edif.rx_sa_pending = 0;
1492 qla_edb_eventcreate(fcport->vha,
1495 QL_VND_RX_SA_KEY, fcport);
1500 ql_dbg(ql_dbg_edif, fcport->vha, 0x9100,
1506 ql_dbg(ql_dbg_edif, fcport->vha, 0x9100,
1508 __func__, sa_index, sa_frame->spi, dir, fcport->loop_id);
1513 sa_ctl = qla_edif_add_sa_ctl(fcport, sa_frame, dir);
1515 ql_dbg(ql_dbg_edif, fcport->vha, 0x9100,
1524 fcport->edif.tx_rekey_cnt++;
1526 fcport->edif.rx_rekey_cnt++;
1528 ql_dbg(ql_dbg_edif, fcport->vha, 0x9100,
1531 fcport->edif.tx_rekey_cnt,
1532 fcport->edif.rx_rekey_cnt, fcport->loop_id);
1548 fc_port_t *fcport = NULL;
1585 fcport = qla2x00_find_fcport_by_pid(vha, &portid);
1586 if (fcport) {
1589 fcport->edif.tx_bytes = 0;
1591 fcport->edif.rx_bytes = 0;
1603 if (fcport->loop_id == FC_NO_LOOP_ID) {
1606 __func__, fcport->port_name, sa_frame.spi,
1607 fcport->disc_state);
1614 result = qla24xx_check_sadb_avail_slot(bsg_job, fcport, &sa_frame);
1620 __func__, fcport->port_name);
1629 __func__, fcport->port_name);
1636 __func__, fcport->port_name, sa_frame.fast_sa_index,
1642 uint16_t nport_handle = fcport->loop_id;
1651 edif_entry = qla_edif_list_find_sa_index(fcport, fcport->loop_id);
1655 __func__, fcport->loop_id, sa_index);
1664 qla_edif_list_delete_sa_index(fcport, edif_entry);
1667 __func__, fcport->loop_id, sa_index);
1686 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport, sa_index,
1692 qla_edif_free_sa_ctl(fcport, sa_ctl, sa_ctl->index);
1699 qla_edif_sadb_delete_sa_index(fcport, nport_handle, sa_index);
1706 fcport->edif.rekey_cnt++;
1709 edif_entry->fcport = fcport;
1748 uint32_t nport_handle = fcport->loop_id;
1761 result = qla_edif_list_add_sa_update_index(fcport, sa_index,
1770 fcport->edif.aes_gmac = 1;
1772 fcport->edif.aes_gmac = 0;
1779 sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL);
1820 __func__, sp->name, sp->handle, fcport->d_id.b24);
1822 fcport->edif.rekey_cnt++;
2020 * @fcport: session pointer
2024 qla_pur_get_pending(scsi_qla_host_t *vha, fc_port_t *fcport,
2034 ptr = qla_enode_find(vha, N_PUREX, fcport->d_id.b24, PUR_GET);
2038 __func__, fcport->port_name, fcport->d_id.b24);
2228 fc_port_t *fcport = sfcport;
2237 if (fcport)
2238 fcport->edif.auth_state = dbtype;
2252 if (!fcport) {
2259 fcport = qla2x00_find_fcport_by_pid(vha, &id);
2260 if (!fcport) {
2262 "%s can't find fcport for sid= 0x%x - ignoring\n",
2273 edbnode->u.plogi_did.b24 = fcport->d_id.b24;
2276 edbnode->u.els_sid.b24 = fcport->d_id.b24;
2279 edbnode->u.sa_aen.port_id = fcport->d_id;
2302 if (fcport)
2303 fcport->edif.auth_state = dbtype;
2339 sp->fcport->flags &= ~(FCF_ASYNC_SENT | FCF_ASYNC_ACTIVE);
2352 fc_port_t *fcport = NULL;
2368 fcport = sa_ctl->fcport;
2371 sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL);
2379 fcport->flags |= FCF_ASYNC_SENT;
2385 fcport->d_id.b24, sa_ctl, sa_ctl->index, nport_handle);
2399 sp->fcport = fcport;
2412 fcport->flags &= ~FCF_ASYNC_SENT;
2414 fcport->flags &= ~FCF_ASYNC_ACTIVE;
2457 sa_update_iocb->u.nport_handle = cpu_to_le16(sp->fcport->loop_id);
2458 sa_update_iocb->vp_index = sp->fcport->vha->vp_idx;
2459 sa_update_iocb->port_id[0] = sp->fcport->d_id.b.al_pa;
2460 sa_update_iocb->port_id[1] = sp->fcport->d_id.b.area;
2461 sa_update_iocb->port_id[2] = sp->fcport->d_id.b.domain;
2469 if (sp->fcport->edif.aes_gmac)
2487 sp->fcport->edif.aes_gmac);
2490 sp->fcport->edif.tx_sa_pending = 1;
2492 sp->fcport->edif.rx_sa_pending = 1;
2494 sp->fcport->vha->qla_stats.control_requests++;
2503 uint16_t nport_handle = sp->fcport->loop_id;
2513 sa_update_iocb->vp_index = sp->fcport->vha->vp_idx;
2514 sa_update_iocb->port_id[0] = sp->fcport->d_id.b.al_pa;
2515 sa_update_iocb->port_id[1] = sp->fcport->d_id.b.area;
2516 sa_update_iocb->port_id[2] = sp->fcport->d_id.b.domain;
2531 sp->fcport->vha->qla_stats.control_requests++;
2543 struct fc_port *fcport;
2632 fcport = qla2x00_find_fcport_by_pid(host, &purex->pur_info.pur_sid);
2637 fcport ? fcport->d_id.b24 : 0);
2644 if (fcport && EDIF_SESSION_DOWN(fcport)) {
2655 fcport->send_els_logo = 1;
2656 qlt_schedule_sess_for_deletion(fcport);
2671 static uint16_t qla_edif_get_sa_index_from_freepool(fc_port_t *fcport, int dir)
2673 struct scsi_qla_host *vha = fcport->vha;
2722 static int qla_edif_sadb_delete_sa_index(fc_port_t *fcport, uint16_t nport_handle,
2730 scsi_qla_host_t *vha = fcport->vha;
2760 qla_edif_add_sa_index_to_freepool(fcport, dir, sa_index);
2824 * dig the nport handle out of the iocb, fcport->loop_id can not be trusted
2827 nport_handle = sp->fcport->loop_id;
2831 __func__, sp->fcport->port_name, pkt->u.comp_sts, pkt->old_sa_info, pkt->new_sa_info,
2838 sp->fcport->flags &= ~(FCF_ASYNC_SENT | FCF_ASYNC_ACTIVE);
2840 edif_entry = qla_edif_list_find_sa_index(sp->fcport, nport_handle);
2845 qla_edif_list_delete_sa_index(sp->fcport, edif_entry);
2867 sp->fcport->flags &= ~(FCF_ASYNC_SENT | FCF_ASYNC_ACTIVE);
2870 __func__, sp->fcport->loop_id, pkt->sa_index);
2886 sp->fcport->edif.enable = 1;
2888 sp->fcport->edif.tx_sa_set = 1;
2889 sp->fcport->edif.tx_sa_pending = 0;
2892 QL_VND_TX_SA_KEY, sp->fcport);
2894 sp->fcport->edif.rx_sa_set = 1;
2895 sp->fcport->edif.rx_sa_pending = 0;
2898 QL_VND_RX_SA_KEY, sp->fcport);
2903 __func__, sp->fcport->port_name, pkt->sa_index, pkt->new_sa_info,
2909 QL_VND_TX_SA_KEY, sp->fcport);
2913 QL_VND_RX_SA_KEY, sp->fcport);
2919 sa_ctl = qla_edif_find_sa_ctl_by_index(sp->fcport,
2922 qla_edif_find_sa_ctl_by_index(sp->fcport, sa_ctl->index,
2927 qla_edif_free_sa_ctl(sp->fcport, sa_ctl, sa_ctl->index);
2936 qla_edif_sadb_delete_sa_index(sp->fcport, nport_handle,
2946 qla_edif_sadb_delete_sa_index(sp->fcport, nport_handle,
2951 qlt_schedule_sess_for_deletion(sp->fcport);
3105 sp->fcport->edif.tx_bytes += scsi_bufflen(cmd);
3110 sp->fcport->edif.rx_bytes += scsi_bufflen(cmd);
3145 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
3146 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa;
3147 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area;
3148 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain;
3171 sp->fcport->fcp_prio << 3;
3229 void qla_edif_list_del(fc_port_t *fcport)
3233 struct list_head *indx_list = &fcport->edif.edif_indx_list;
3236 spin_lock_irqsave(&fcport->edif.indx_list_lock, flags);
3241 spin_unlock_irqrestore(&fcport->edif.indx_list_lock, flags);
3249 static uint16_t qla_edif_sadb_get_sa_index(fc_port_t *fcport,
3258 scsi_qla_host_t *vha = fcport->vha;
3261 uint16_t nport_handle = fcport->loop_id;
3265 __func__, fcport, nport_handle);
3285 sa_index = qla_edif_get_sa_index_from_freepool(fcport, dir);
3293 entry->fcport = fcport;
3341 sa_index = qla_edif_get_sa_index_from_freepool(fcport, dir);
3343 ql_dbg(ql_dbg_edif, fcport->vha, 0x3063,
3352 ql_dbg(ql_dbg_edif, fcport->vha, 0x3063,
3379 /* build the rx and tx sa_index free pools -- only done at fcport init */
3403 /* release the free pool - only done during fcport teardown */
3413 fc_port_t *fcport, uint32_t handle, uint16_t sa_index)
3419 uint16_t nport_handle = fcport->loop_id;
3422 spin_lock_irqsave(&fcport->edif.indx_list_lock, flags);
3423 edif_entry = qla_edif_list_find_sa_index(fcport, nport_handle);
3425 spin_unlock_irqrestore(&fcport->edif.indx_list_lock, flags);
3435 spin_unlock_irqrestore(&fcport->edif.indx_list_lock, flags);
3444 spin_unlock_irqrestore(&fcport->edif.indx_list_lock, flags);
3455 spin_unlock_irqrestore(&fcport->edif.indx_list_lock, flags);
3465 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport, delete_sa_index, 0);
3477 qla_post_sa_replace_work(fcport->vha, fcport,
3489 fc_port_t *fcport = sp->fcport;
3500 return __chk_edif_rx_sa_delete_pending(vha, fcport, handle,
3504 void qlt_chk_edif_rx_sa_delete_pending(scsi_qla_host_t *vha, fc_port_t *fcport,
3507 __chk_edif_rx_sa_delete_pending(vha, fcport,
3532 a->did = sp->fcport->d_id;
3534 a->nport_handle = cpu_to_le16(sp->fcport->loop_id);
3542 fc_port_t *fcport = NULL;
3558 /* find matching d_id in fcport list */
3559 fcport = qla2x00_find_fcport_by_pid(vha, &d_id);
3560 if (!fcport) {
3562 "%s fcport not find online portid=%06x.\n",
3568 if (qla_bsg_check(vha, bsg_job, fcport))
3571 if (EDIF_SESS_DELETE(fcport)) {
3595 sp = qla2x00_get_sp(vha, fcport, GFP_KERNEL);
3598 "Failed get sp pid=%06x\n", fcport->d_id.b24);
3647 __func__, sc_to_str(p->e.sub_cmd), fcport->port_name,
3707 void qla_edif_clear_appdata(struct scsi_qla_host *vha, struct fc_port *fcport)
3709 if (!(fcport->flags & FCF_FCSP_DEVICE))
3712 qla_edb_clear(vha, fcport->d_id);
3713 qla_enode_clear(vha, fcport->d_id);