Lines Matching refs:iocb
113 int fn, void *iocb, int flags);
556 memcpy(e->u.nack.iocb, ntfy, sizeof(struct imm_ntfy_from_isp)); in qla24xx_post_nack_work()
690 (struct imm_ntfy_from_isp *)e->u.nack.iocb, e->u.nack.type); in qla24xx_do_nack_work()
784 struct imm_ntfy_from_isp *iocb) in qlt_plogi_ack_find_add() argument
795 pla->iocb.u.isp24.port_name); in qlt_plogi_ack_find_add()
796 qlt_send_term_imm_notif(vha, &pla->iocb, 1); in qlt_plogi_ack_find_add()
797 memcpy(&pla->iocb, iocb, sizeof(pla->iocb)); in qlt_plogi_ack_find_add()
810 memcpy(&pla->iocb, iocb, sizeof(pla->iocb)); in qlt_plogi_ack_find_add()
820 struct imm_ntfy_from_isp *iocb = &pla->iocb; in qlt_plogi_ack_unref() local
833 " exch %#x ox_id %#x\n", iocb->u.isp24.port_name, in qlt_plogi_ack_unref()
834 iocb->u.isp24.port_id[2], iocb->u.isp24.port_id[1], in qlt_plogi_ack_unref()
835 iocb->u.isp24.port_id[0], in qlt_plogi_ack_unref()
836 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_plogi_ack_unref()
837 iocb->u.isp24.exchange_address, iocb->ox_id); in qlt_plogi_ack_unref()
839 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_plogi_ack_unref()
840 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_plogi_ack_unref()
841 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_plogi_ack_unref()
844 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_plogi_ack_unref()
848 if (iocb->u.isp24.status_subcode == ELS_PLOGI) in qlt_plogi_ack_unref()
849 qla24xx_post_nack_work(vha, fcport, iocb, SRB_NACK_PLOGI); in qlt_plogi_ack_unref()
851 qla24xx_post_nack_work(vha, fcport, iocb, SRB_NACK_PRLI); in qlt_plogi_ack_unref()
868 struct imm_ntfy_from_isp *iocb = &pla->iocb; in qlt_plogi_ack_link() local
876 iocb->u.isp24.port_name, iocb->u.isp24.port_id[2], in qlt_plogi_ack_link()
877 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0], in qlt_plogi_ack_link()
985 (own->iocb.u.isp24.status_subcode == ELS_PLOGI))) { in qlt_free_session_done()
994 } else if (own && (own->iocb.u.isp24.status_subcode == in qlt_free_session_done()
1044 (struct imm_ntfy_from_isp *)sess->iocb, SRB_NACK_LOGO); in qlt_free_session_done()
1079 struct imm_ntfy_from_isp *iocb; in qlt_free_session_done() local
1084 iocb = &con->iocb; in qlt_free_session_done()
1091 iocb->u.isp24.port_name, con->ref_count); in qlt_free_session_done()
1178 static int qlt_reset(struct scsi_qla_host *vha, void *iocb, int mcmd) in qlt_reset() argument
1184 struct imm_ntfy_from_isp *n = (struct imm_ntfy_from_isp *)iocb; in qlt_reset()
1212 return qlt_issue_task_mgmt(sess, 0, mcmd, iocb, QLA24XX_MGMT_SEND_NACK); in qlt_reset()
4392 int fn, void *iocb, int flags) in qlt_issue_task_mgmt() argument
4397 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in qlt_issue_task_mgmt()
4411 if (iocb) { in qlt_issue_task_mgmt()
4412 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb, in qlt_issue_task_mgmt()
4452 static int qlt_handle_task_mgmt(struct scsi_qla_host *vha, void *iocb) in qlt_handle_task_mgmt() argument
4454 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in qlt_handle_task_mgmt()
4474 return qlt_issue_task_mgmt(sess, unpacked_lun, fn, iocb, 0); in qlt_handle_task_mgmt()
4479 struct imm_ntfy_from_isp *iocb, struct fc_port *sess) in __qlt_abort_task() argument
4481 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in __qlt_abort_task()
4497 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb, in __qlt_abort_task()
4507 le16_to_cpu(iocb->u.isp2x.seq_id)); in __qlt_abort_task()
4521 struct imm_ntfy_from_isp *iocb) in qlt_abort_task() argument
4528 loop_id = GET_TARGET_ID(ha, (struct atio_from_isp *)iocb); in qlt_abort_task()
4539 QLA_TGT_SESS_WORK_ABORT, iocb, sizeof(*iocb)); in qlt_abort_task()
4542 return __qlt_abort_task(vha, iocb, sess); in qlt_abort_task()
4682 struct imm_ntfy_from_isp *iocb) in qlt_handle_login() argument
4694 wwn = wwn_to_u64(iocb->u.isp24.port_name); in qlt_handle_login()
4696 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_handle_login()
4697 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_handle_login()
4698 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_handle_login()
4701 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_handle_login()
4715 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4724 pla = qlt_plogi_ack_find_add(vha, &port_id, iocb); in qlt_handle_login()
4729 iocb->u.isp24.port_name); in qlt_handle_login()
4730 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4744 __func__, __LINE__, iocb->u.isp24.port_name); in qlt_handle_login()
4745 if (iocb->u.isp24.status_subcode == ELS_PLOGI) in qlt_handle_login()
4747 iocb->u.isp24.port_name, in qlt_handle_login()
4748 iocb->u.isp24.u.plogi.node_name, in qlt_handle_login()
4752 iocb->u.isp24.port_name, NULL, in qlt_handle_login()
4782 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4790 if (iocb->u.isp24.status_subcode == ELS_PRLI) { in qlt_handle_login()
4796 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo); in qlt_handle_login()
4858 struct imm_ntfy_from_isp *iocb) in qlt_24xx_handle_els() argument
4872 wwn = wwn_to_u64(iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4874 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_24xx_handle_els()
4875 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_24xx_handle_els()
4876 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_24xx_handle_els()
4879 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_24xx_handle_els()
4883 vha->vp_idx, iocb->u.isp24.port_id[2], in qlt_24xx_handle_els()
4884 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0], in qlt_24xx_handle_els()
4885 iocb->u.isp24.status_subcode, loop_id, in qlt_24xx_handle_els()
4886 iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4891 switch (iocb->u.isp24.status_subcode) { in qlt_24xx_handle_els()
4893 res = qlt_handle_login(vha, iocb); in qlt_24xx_handle_els()
4899 iocb->u.isp24.port_name, 1); in qlt_24xx_handle_els()
4905 iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4906 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
4910 res = qlt_handle_login(vha, iocb); in qlt_24xx_handle_els()
4919 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo); in qlt_24xx_handle_els()
4939 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
4974 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
4998 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5009 sess->loop_id, sess, iocb->u.isp24.nport_handle); in qlt_24xx_handle_els()
5034 qla24xx_post_nack_work(vha, sess, iocb, in qlt_24xx_handle_els()
5047 qla24xx_post_nack_work(vha, sess, iocb, in qlt_24xx_handle_els()
5055 if (le16_to_cpu(iocb->u.isp24.flags) & in qlt_24xx_handle_els()
5058 qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS); in qlt_24xx_handle_els()
5073 memcpy(sess->iocb, iocb, IOCB_SIZE); in qlt_24xx_handle_els()
5076 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS); in qlt_24xx_handle_els()
5109 iocb->u.isp24.port_name, 1); in qlt_24xx_handle_els()
5125 "received\n", vha->vp_idx, iocb->u.isp24.status_subcode); in qlt_24xx_handle_els()
5126 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS); in qlt_24xx_handle_els()
5132 vha->vp_idx, iocb->u.isp24.status_subcode, res); in qlt_24xx_handle_els()
5141 struct imm_ntfy_from_isp *iocb) in qlt_handle_imm_notify() argument
5150 status = le16_to_cpu(iocb->u.isp2x.status); in qlt_handle_imm_notify()
5156 vha->vp_idx, le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5157 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5159 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5171 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5172 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5177 memcpy(&tgt->link_reinit_iocb, iocb, sizeof(*iocb)); in qlt_handle_imm_notify()
5191 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5192 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5194 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS) == 0) in qlt_handle_imm_notify()
5202 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5211 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5221 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5236 le16_to_cpu(iocb->u.isp2x.seq_id), in qlt_handle_imm_notify()
5237 GET_TARGET_ID(ha, (struct atio_from_isp *)iocb), in qlt_handle_imm_notify()
5238 le16_to_cpu(iocb->u.isp2x.lun)); in qlt_handle_imm_notify()
5239 if (qlt_abort_task(vha, iocb) == 0) in qlt_handle_imm_notify()
5252 vha->vp_idx, iocb->u.isp2x.task_flags); in qlt_handle_imm_notify()
5256 if (qlt_24xx_handle_els(vha, iocb) == 0) in qlt_handle_imm_notify()
5267 qlt_send_notify_ack(ha->base_qpair, iocb, add_flags, 0, 0, 0, in qlt_handle_imm_notify()
6231 void *iocb; in qlt_tmr_work() local
6262 iocb = a; in qlt_tmr_work()
6267 rc = qlt_issue_task_mgmt(sess, unpacked_lun, fn, iocb, 0); in qlt_tmr_work()