FRM2SS
fcoet_soft_state_t *ss = FRM2SS(frm);
FRM2SS(frm)->ss_eport->eport_release_frame(frm);
cmd = fct_scsi_task_alloc(FRM2SS(frm)->ss_port, FCT_HANDLE_NONE,
xch->xch_ss = FRM2SS(frm);
} while (mod_hash_find(FRM2SS(frm)->ss_unsol_rxid_hash,
cmd->cmd_port = FRM2SS(frm)->ss_port;
if (mod_hash_find_cb(FRM2SS(frm)->ss_unsol_rxid_hash,
if (mod_hash_find_cb(FRM2SS(frm)->ss_sol_oxid_hash,
if (xch != FRM2SS(frm)->ss_sol_flogi) {
if (mod_hash_find_cb(FRM2SS(frm)->ss_unsol_rxid_hash,
if (mod_hash_remove(FRM2SS(frm)->ss_sol_oxid_hash,
if (mod_hash_remove(FRM2SS(frm)->ss_sol_oxid_hash,
if (mod_hash_remove(FRM2SS(frm)->ss_sol_oxid_hash,
(void) mod_hash_insert(FRM2SS(frm)->ss_sol_oxid_hash,
(void) mod_hash_insert(FRM2SS(frm)->ss_sol_oxid_hash,
if (++FRM2SS(frm)->ss_next_unsol_rxid == 0xFFFF) { \
++FRM2SS(frm)->ss_next_unsol_rxid; \
} while (mod_hash_find(FRM2SS(frm)->ss_unsol_rxid_hash, \
(mod_hash_key_t)(intptr_t)FRM2SS(frm)->ss_next_unsol_rxid, \
FFM_RXID(FRM2SS(frm)->ss_next_unsol_rxid, frm); \
if (mod_hash_find(FRM2SS(frm)->ss_sol_oxid_hash,
FRM2SS(frm)->ss_eport->eport_release_frame(frm);
if (!(FRM2SS(frm)->ss_flags & SS_FLAG_LV_BOUND)) {
mutex_enter(&FRM2SS(frm)->ss_watchdog_mutex);
list_insert_tail(&FRM2SS(frm)->ss_event_list, &FRM2IFM(frm)->ifm_ae);
if (FRM2SS(frm)->ss_flags & SS_FLAG_WATCHDOG_IDLE) {
cv_signal(&FRM2SS(frm)->ss_watchdog_cv);
mutex_exit(&FRM2SS(frm)->ss_watchdog_mutex);
FRM2SS(frm)->ss_eport->eport_release_frame(frm);
mutex_enter(&FRM2SS(frm)->ss_watchdog_mutex);
list_insert_tail(&FRM2SS(frm)->ss_event_list,
if (FRM2SS(frm)->ss_flags & SS_FLAG_WATCHDOG_IDLE) {
cv_signal(&FRM2SS(frm)->ss_watchdog_cv);
mutex_exit(&FRM2SS(frm)->ss_watchdog_mutex);
if (mod_hash_find(FRM2SS(frm)->ss_sol_oxid_hash,
data_size = FRM2SS(frm)->ss_fcp_data_payload_size;
nfrm = FRM2SS(frm)->ss_eport->eport_alloc_frame(
FRM2SS(frm)->ss_eport, data_size + FCFH_SIZE, NULL);
ub->ub_port_handle = FRM2SS(frm);
if ((FRM2SS(frm)->ss_flags & SS_FLAG_FLOGI_FAILED) &&
FRM2SS(frm)->ss_bind_info.port_statec_cb(FRM2SS(frm)->ss_port,
FRM2SS(frm)->ss_bind_info.port_unsol_cb(FRM2SS(frm)->ss_port, ub, 0);
(void) mod_hash_find(FRM2SS(frm)->ss_sol_oxid_hash,
mod_hash_walk(FRM2SS(frm)->ss_unsol_rxid_hash,
nfrm = FRM2SS(frm)->ss_eport->eport_alloc_frame(
FRM2SS(frm)->ss_eport,
nfrm = FRM2SS(frm)->ss_eport->eport_alloc_frame(
FRM2SS(frm)->ss_eport, payload_size + FCFH_SIZE, NULL);
FRM2SS(frm)->ss_eport->eport_tx_frame(nfrm);
if (mod_hash_find(FRM2SS(frm)->ss_sol_oxid_hash,
(void) mod_hash_remove(FRM2SS(frm)->ss_sol_oxid_hash,
if (mod_hash_find(FRM2SS(frm)->ss_sol_oxid_hash,
if (mod_hash_find(FRM2SS(frm)->ss_sol_oxid_hash,
if (!(FRM2SS(frm)->ss_eport->eport_flags &
FRM2SS(frm)->ss_p2p_info.fca_d_id = FRM_D_ID(frm);
if (FRM2SS(frm)->ss_eport->eport_flags &
FRM2SS(frm)->ss_p2p_info.fca_d_id = FRM_D_ID(frm);
FRM2SS(frm)->ss_p2p_info.d_id = FRM_S_ID(frm);
if (FRM2SS(frm)->ss_eport->eport_flags &
FRM2SS(frm)->ss_p2p_info.fca_d_id = FRM_S_ID(frm);
FRM2SS(frm)->ss_p2p_info.d_id = FRM_D_ID(frm);