Lines Matching refs:iocb

106 	int fn, void *iocb, int flags);
548 memcpy(e->u.nack.iocb, ntfy, sizeof(struct imm_ntfy_from_isp)); in qla24xx_post_nack_work()
695 (struct imm_ntfy_from_isp *)e->u.nack.iocb, e->u.nack.type); in qla24xx_do_nack_work()
794 struct imm_ntfy_from_isp *iocb) in qlt_plogi_ack_find_add() argument
805 pla->iocb.u.isp24.port_name); in qlt_plogi_ack_find_add()
806 qlt_send_term_imm_notif(vha, &pla->iocb, 1); in qlt_plogi_ack_find_add()
807 memcpy(&pla->iocb, iocb, sizeof(pla->iocb)); in qlt_plogi_ack_find_add()
820 memcpy(&pla->iocb, iocb, sizeof(pla->iocb)); in qlt_plogi_ack_find_add()
830 struct imm_ntfy_from_isp *iocb = &pla->iocb; in qlt_plogi_ack_unref() local
843 " exch %#x ox_id %#x\n", iocb->u.isp24.port_name, in qlt_plogi_ack_unref()
844 iocb->u.isp24.port_id[2], iocb->u.isp24.port_id[1], in qlt_plogi_ack_unref()
845 iocb->u.isp24.port_id[0], in qlt_plogi_ack_unref()
846 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_plogi_ack_unref()
847 iocb->u.isp24.exchange_address, iocb->ox_id); in qlt_plogi_ack_unref()
849 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_plogi_ack_unref()
850 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_plogi_ack_unref()
851 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_plogi_ack_unref()
854 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_plogi_ack_unref()
858 if (iocb->u.isp24.status_subcode == ELS_PLOGI) in qlt_plogi_ack_unref()
859 qla24xx_post_nack_work(vha, fcport, iocb, SRB_NACK_PLOGI); in qlt_plogi_ack_unref()
861 qla24xx_post_nack_work(vha, fcport, iocb, SRB_NACK_PRLI); in qlt_plogi_ack_unref()
878 struct imm_ntfy_from_isp *iocb = &pla->iocb; in qlt_plogi_ack_link() local
886 iocb->u.isp24.port_name, iocb->u.isp24.port_id[2], in qlt_plogi_ack_link()
887 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0], in qlt_plogi_ack_link()
1001 (own->iocb.u.isp24.status_subcode == ELS_PLOGI)) { in qlt_free_session_done()
1011 } else if (own && (own->iocb.u.isp24.status_subcode == in qlt_free_session_done()
1032 own->iocb.u.isp24.status_subcode == ELS_PLOGI))) { in qlt_free_session_done()
1085 (struct imm_ntfy_from_isp *)sess->iocb, SRB_NACK_LOGO); in qlt_free_session_done()
1120 struct imm_ntfy_from_isp *iocb; in qlt_free_session_done() local
1125 iocb = &con->iocb; in qlt_free_session_done()
1132 iocb->u.isp24.port_name, con->ref_count); in qlt_free_session_done()
1219 static int qlt_reset(struct scsi_qla_host *vha, void *iocb, int mcmd) in qlt_reset() argument
1225 struct imm_ntfy_from_isp *n = (struct imm_ntfy_from_isp *)iocb; in qlt_reset()
1253 return qlt_issue_task_mgmt(sess, 0, mcmd, iocb, QLA24XX_MGMT_SEND_NACK); in qlt_reset()
4459 int fn, void *iocb, int flags) in qlt_issue_task_mgmt() argument
4464 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in qlt_issue_task_mgmt()
4478 if (iocb) { in qlt_issue_task_mgmt()
4479 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb, in qlt_issue_task_mgmt()
4519 static int qlt_handle_task_mgmt(struct scsi_qla_host *vha, void *iocb) in qlt_handle_task_mgmt() argument
4521 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in qlt_handle_task_mgmt()
4541 return qlt_issue_task_mgmt(sess, unpacked_lun, fn, iocb, 0); in qlt_handle_task_mgmt()
4546 struct imm_ntfy_from_isp *iocb, struct fc_port *sess) in __qlt_abort_task() argument
4548 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in __qlt_abort_task()
4564 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb, in __qlt_abort_task()
4574 le16_to_cpu(iocb->u.isp2x.seq_id)); in __qlt_abort_task()
4588 struct imm_ntfy_from_isp *iocb) in qlt_abort_task() argument
4595 loop_id = GET_TARGET_ID(ha, (struct atio_from_isp *)iocb); in qlt_abort_task()
4606 QLA_TGT_SESS_WORK_ABORT, iocb, sizeof(*iocb)); in qlt_abort_task()
4609 return __qlt_abort_task(vha, iocb, sess); in qlt_abort_task()
4740 struct imm_ntfy_from_isp *iocb) in qlt_handle_login() argument
4752 wwn = wwn_to_u64(iocb->u.isp24.port_name); in qlt_handle_login()
4754 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_handle_login()
4755 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_handle_login()
4756 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_handle_login()
4759 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_handle_login()
4773 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4784 iocb->u.isp24.status_subcode == ELS_PLOGI && in qlt_handle_login()
4785 !(le16_to_cpu(iocb->u.isp24.flags) & NOTIFY24XX_FLAGS_FCSP)) { in qlt_handle_login()
4789 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4798 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4800 } else if (iocb->u.isp24.status_subcode == ELS_PLOGI && in qlt_handle_login()
4801 !(le16_to_cpu(iocb->u.isp24.flags) & NOTIFY24XX_FLAGS_FCSP)) { in qlt_handle_login()
4805 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4810 pla = qlt_plogi_ack_find_add(vha, &port_id, iocb); in qlt_handle_login()
4815 iocb->u.isp24.port_name); in qlt_handle_login()
4816 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4830 __func__, __LINE__, iocb->u.isp24.port_name); in qlt_handle_login()
4831 if (iocb->u.isp24.status_subcode == ELS_PLOGI) in qlt_handle_login()
4833 iocb->u.isp24.port_name, in qlt_handle_login()
4834 iocb->u.isp24.u.plogi.node_name, in qlt_handle_login()
4838 iocb->u.isp24.port_name, NULL, in qlt_handle_login()
4868 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4877 if (iocb->u.isp24.status_subcode == ELS_PLOGI) { in qlt_handle_login()
4890 if (iocb->u.isp24.status_subcode == ELS_PRLI) { in qlt_handle_login()
4896 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo); in qlt_handle_login()
4958 struct imm_ntfy_from_isp *iocb) in qlt_24xx_handle_els() argument
4972 wwn = wwn_to_u64(iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4974 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_24xx_handle_els()
4975 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_24xx_handle_els()
4976 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_24xx_handle_els()
4979 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_24xx_handle_els()
4983 vha->vp_idx, iocb->u.isp24.port_id[2], in qlt_24xx_handle_els()
4984 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0], in qlt_24xx_handle_els()
4985 iocb->u.isp24.status_subcode, loop_id, in qlt_24xx_handle_els()
4986 iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4991 switch (iocb->u.isp24.status_subcode) { in qlt_24xx_handle_els()
4993 res = qlt_handle_login(vha, iocb); in qlt_24xx_handle_els()
4999 iocb->u.isp24.port_name, 1); in qlt_24xx_handle_els()
5006 __func__, __LINE__, iocb->u.isp24.port_name); in qlt_24xx_handle_els()
5007 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5015 iocb->u.isp24.port_name); in qlt_24xx_handle_els()
5016 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5020 res = qlt_handle_login(vha, iocb); in qlt_24xx_handle_els()
5029 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo); in qlt_24xx_handle_els()
5049 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5064 __func__, __LINE__, iocb->u.isp24.port_name); in qlt_24xx_handle_els()
5065 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5094 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5118 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5129 sess->loop_id, sess, iocb->u.isp24.nport_handle); in qlt_24xx_handle_els()
5154 qla24xx_post_nack_work(vha, sess, iocb, in qlt_24xx_handle_els()
5167 qla24xx_post_nack_work(vha, sess, iocb, in qlt_24xx_handle_els()
5175 if (le16_to_cpu(iocb->u.isp24.flags) & in qlt_24xx_handle_els()
5178 qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS); in qlt_24xx_handle_els()
5193 memcpy(sess->iocb, iocb, IOCB_SIZE); in qlt_24xx_handle_els()
5196 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS); in qlt_24xx_handle_els()
5229 iocb->u.isp24.port_name, 1); in qlt_24xx_handle_els()
5245 "received\n", vha->vp_idx, iocb->u.isp24.status_subcode); in qlt_24xx_handle_els()
5246 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS); in qlt_24xx_handle_els()
5252 vha->vp_idx, iocb->u.isp24.status_subcode, res); in qlt_24xx_handle_els()
5262 struct imm_ntfy_from_isp *iocb) in qlt_handle_imm_notify() argument
5271 status = le16_to_cpu(iocb->u.isp2x.status); in qlt_handle_imm_notify()
5277 vha->vp_idx, le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5278 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5280 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5292 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5293 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5298 memcpy(&tgt->link_reinit_iocb, iocb, sizeof(*iocb)); in qlt_handle_imm_notify()
5312 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5313 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5315 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS) == 0) in qlt_handle_imm_notify()
5323 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5332 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5342 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5357 le16_to_cpu(iocb->u.isp2x.seq_id), in qlt_handle_imm_notify()
5358 GET_TARGET_ID(ha, (struct atio_from_isp *)iocb), in qlt_handle_imm_notify()
5359 le16_to_cpu(iocb->u.isp2x.lun)); in qlt_handle_imm_notify()
5360 if (qlt_abort_task(vha, iocb) == 0) in qlt_handle_imm_notify()
5373 vha->vp_idx, iocb->u.isp2x.task_flags); in qlt_handle_imm_notify()
5377 if (qlt_24xx_handle_els(vha, iocb) == 0) in qlt_handle_imm_notify()
5388 qlt_send_notify_ack(ha->base_qpair, iocb, add_flags, 0, 0, 0, in qlt_handle_imm_notify()