Lines Matching refs:iocb
124 int fn, void *iocb, int flags);
565 memcpy(e->u.nack.iocb, ntfy, sizeof(struct imm_ntfy_from_isp)); in qla24xx_post_nack_work()
705 (struct imm_ntfy_from_isp*)e->u.nack.iocb, e->u.nack.type); in qla24xx_do_nack_work()
802 struct imm_ntfy_from_isp *iocb) in qlt_plogi_ack_find_add() argument
811 pla->iocb.u.isp24.port_name); in qlt_plogi_ack_find_add()
812 qlt_send_term_imm_notif(vha, &pla->iocb, 1); in qlt_plogi_ack_find_add()
813 memcpy(&pla->iocb, iocb, sizeof(pla->iocb)); in qlt_plogi_ack_find_add()
826 memcpy(&pla->iocb, iocb, sizeof(pla->iocb)); in qlt_plogi_ack_find_add()
836 struct imm_ntfy_from_isp *iocb = &pla->iocb; in qlt_plogi_ack_unref() local
849 " exch %#x ox_id %#x\n", iocb->u.isp24.port_name, in qlt_plogi_ack_unref()
850 iocb->u.isp24.port_id[2], iocb->u.isp24.port_id[1], in qlt_plogi_ack_unref()
851 iocb->u.isp24.port_id[0], in qlt_plogi_ack_unref()
852 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_plogi_ack_unref()
853 iocb->u.isp24.exchange_address, iocb->ox_id); in qlt_plogi_ack_unref()
855 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_plogi_ack_unref()
856 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_plogi_ack_unref()
857 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_plogi_ack_unref()
860 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_plogi_ack_unref()
864 if (iocb->u.isp24.status_subcode == ELS_PLOGI) in qlt_plogi_ack_unref()
865 qla24xx_post_nack_work(vha, fcport, iocb, SRB_NACK_PLOGI); in qlt_plogi_ack_unref()
867 qla24xx_post_nack_work(vha, fcport, iocb, SRB_NACK_PRLI); in qlt_plogi_ack_unref()
884 struct imm_ntfy_from_isp *iocb = &pla->iocb; in qlt_plogi_ack_link() local
892 iocb->u.isp24.port_name, iocb->u.isp24.port_id[2], in qlt_plogi_ack_link()
893 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0], in qlt_plogi_ack_link()
999 (own->iocb.u.isp24.status_subcode == ELS_PLOGI))) { in qlt_free_session_done()
1008 } else if (own && (own->iocb.u.isp24.status_subcode == in qlt_free_session_done()
1048 (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
1083 iocb = &con->iocb; in qlt_free_session_done()
1090 iocb->u.isp24.port_name, con->ref_count); in qlt_free_session_done()
1182 static int qlt_reset(struct scsi_qla_host *vha, void *iocb, int mcmd) in qlt_reset() argument
1188 struct imm_ntfy_from_isp *n = (struct imm_ntfy_from_isp *)iocb; in qlt_reset()
1216 return qlt_issue_task_mgmt(sess, 0, mcmd, iocb, QLA24XX_MGMT_SEND_NACK); in qlt_reset()
4399 int fn, void *iocb, int flags) in qlt_issue_task_mgmt() argument
4404 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in qlt_issue_task_mgmt()
4418 if (iocb) { in qlt_issue_task_mgmt()
4419 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb, in qlt_issue_task_mgmt()
4459 static int qlt_handle_task_mgmt(struct scsi_qla_host *vha, void *iocb) in qlt_handle_task_mgmt() argument
4461 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in qlt_handle_task_mgmt()
4481 return qlt_issue_task_mgmt(sess, unpacked_lun, fn, iocb, 0); in qlt_handle_task_mgmt()
4486 struct imm_ntfy_from_isp *iocb, struct fc_port *sess) in __qlt_abort_task() argument
4488 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in __qlt_abort_task()
4504 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb, in __qlt_abort_task()
4514 le16_to_cpu(iocb->u.isp2x.seq_id)); in __qlt_abort_task()
4528 struct imm_ntfy_from_isp *iocb) in qlt_abort_task() argument
4535 loop_id = GET_TARGET_ID(ha, (struct atio_from_isp *)iocb); in qlt_abort_task()
4546 QLA_TGT_SESS_WORK_ABORT, iocb, sizeof(*iocb)); in qlt_abort_task()
4549 return __qlt_abort_task(vha, iocb, sess); in qlt_abort_task()
4687 struct imm_ntfy_from_isp *iocb) in qlt_handle_login() argument
4697 wwn = wwn_to_u64(iocb->u.isp24.port_name); in qlt_handle_login()
4699 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_handle_login()
4700 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_handle_login()
4701 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_handle_login()
4704 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_handle_login()
4721 pla = qlt_plogi_ack_find_add(vha, &port_id, iocb); in qlt_handle_login()
4726 iocb->u.isp24.port_name); in qlt_handle_login()
4727 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4741 __func__, __LINE__, iocb->u.isp24.port_name); in qlt_handle_login()
4742 if (iocb->u.isp24.status_subcode == ELS_PLOGI) in qlt_handle_login()
4744 iocb->u.isp24.port_name, in qlt_handle_login()
4745 iocb->u.isp24.u.plogi.node_name, in qlt_handle_login()
4749 iocb->u.isp24.port_name, NULL, in qlt_handle_login()
4759 if (iocb->u.isp24.status_subcode == ELS_PRLI) { in qlt_handle_login()
4765 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo); in qlt_handle_login()
4826 struct imm_ntfy_from_isp *iocb) in qlt_24xx_handle_els() argument
4838 wwn = wwn_to_u64(iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4840 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_24xx_handle_els()
4841 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_24xx_handle_els()
4842 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_24xx_handle_els()
4845 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_24xx_handle_els()
4849 vha->vp_idx, iocb->u.isp24.port_id[2], in qlt_24xx_handle_els()
4850 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0], in qlt_24xx_handle_els()
4851 iocb->u.isp24.status_subcode, loop_id, in qlt_24xx_handle_els()
4852 iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4857 switch (iocb->u.isp24.status_subcode) { in qlt_24xx_handle_els()
4859 res = qlt_handle_login(vha, iocb); in qlt_24xx_handle_els()
4865 iocb->u.isp24.port_name, 1); in qlt_24xx_handle_els()
4871 iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4872 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
4876 res = qlt_handle_login(vha, iocb); in qlt_24xx_handle_els()
4885 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo); in qlt_24xx_handle_els()
4905 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
4947 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
4958 sess->loop_id, sess, iocb->u.isp24.nport_handle); in qlt_24xx_handle_els()
4983 qla24xx_post_nack_work(vha, sess, iocb, in qlt_24xx_handle_els()
4996 qla24xx_post_nack_work(vha, sess, iocb, in qlt_24xx_handle_els()
5004 if (le16_to_cpu(iocb->u.isp24.flags) & in qlt_24xx_handle_els()
5007 qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS); in qlt_24xx_handle_els()
5022 memcpy(sess->iocb, iocb, IOCB_SIZE); in qlt_24xx_handle_els()
5025 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS); in qlt_24xx_handle_els()
5057 iocb->u.isp24.port_name, 1); in qlt_24xx_handle_els()
5073 "received\n", vha->vp_idx, iocb->u.isp24.status_subcode); in qlt_24xx_handle_els()
5074 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS); in qlt_24xx_handle_els()
5080 vha->vp_idx, iocb->u.isp24.status_subcode, res); in qlt_24xx_handle_els()
5089 struct imm_ntfy_from_isp *iocb) in qlt_handle_imm_notify() argument
5096 status = le16_to_cpu(iocb->u.isp2x.status); in qlt_handle_imm_notify()
5102 vha->vp_idx, le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5103 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5105 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5116 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5117 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5122 memcpy(&tgt->link_reinit_iocb, iocb, sizeof(*iocb)); in qlt_handle_imm_notify()
5136 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5137 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5139 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS) == 0) in qlt_handle_imm_notify()
5147 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5156 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5166 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5181 le16_to_cpu(iocb->u.isp2x.seq_id), in qlt_handle_imm_notify()
5182 GET_TARGET_ID(ha, (struct atio_from_isp *)iocb), in qlt_handle_imm_notify()
5183 le16_to_cpu(iocb->u.isp2x.lun)); in qlt_handle_imm_notify()
5184 if (qlt_abort_task(vha, iocb) == 0) in qlt_handle_imm_notify()
5197 vha->vp_idx, iocb->u.isp2x.task_flags); in qlt_handle_imm_notify()
5201 if (qlt_24xx_handle_els(vha, iocb) == 0) in qlt_handle_imm_notify()
5212 qlt_send_notify_ack(ha->base_qpair, iocb, add_flags, 0, 0, 0, in qlt_handle_imm_notify()
6138 void *iocb; in qlt_tmr_work() local
6171 iocb = a; in qlt_tmr_work()
6176 rc = qlt_issue_task_mgmt(sess, unpacked_lun, fn, iocb, 0); in qlt_tmr_work()