Lines Matching refs:iocb

106 	int fn, void *iocb, int flags);
532 memcpy(e->u.nack.iocb, ntfy, sizeof(struct imm_ntfy_from_isp)); in qla24xx_post_nack_work()
679 (struct imm_ntfy_from_isp *)e->u.nack.iocb, e->u.nack.type); in qla24xx_do_nack_work()
778 struct imm_ntfy_from_isp *iocb) in qlt_plogi_ack_find_add() argument
789 pla->iocb.u.isp24.port_name); in qlt_plogi_ack_find_add()
790 qlt_send_term_imm_notif(vha, &pla->iocb, 1); in qlt_plogi_ack_find_add()
791 memcpy(&pla->iocb, iocb, sizeof(pla->iocb)); in qlt_plogi_ack_find_add()
804 memcpy(&pla->iocb, iocb, sizeof(pla->iocb)); in qlt_plogi_ack_find_add()
814 struct imm_ntfy_from_isp *iocb = &pla->iocb; in qlt_plogi_ack_unref() local
827 " exch %#x ox_id %#x\n", iocb->u.isp24.port_name, in qlt_plogi_ack_unref()
828 iocb->u.isp24.port_id[2], iocb->u.isp24.port_id[1], in qlt_plogi_ack_unref()
829 iocb->u.isp24.port_id[0], in qlt_plogi_ack_unref()
830 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_plogi_ack_unref()
831 iocb->u.isp24.exchange_address, iocb->ox_id); in qlt_plogi_ack_unref()
833 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_plogi_ack_unref()
834 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_plogi_ack_unref()
835 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_plogi_ack_unref()
838 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_plogi_ack_unref()
842 if (iocb->u.isp24.status_subcode == ELS_PLOGI) in qlt_plogi_ack_unref()
843 qla24xx_post_nack_work(vha, fcport, iocb, SRB_NACK_PLOGI); in qlt_plogi_ack_unref()
845 qla24xx_post_nack_work(vha, fcport, iocb, SRB_NACK_PRLI); in qlt_plogi_ack_unref()
862 struct imm_ntfy_from_isp *iocb = &pla->iocb; in qlt_plogi_ack_link() local
870 iocb->u.isp24.port_name, iocb->u.isp24.port_id[2], in qlt_plogi_ack_link()
871 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()
995 } else if (own && (own->iocb.u.isp24.status_subcode == in qlt_free_session_done()
1015 (!own || own->iocb.u.isp24.status_subcode == ELS_PLOGI)) { in qlt_free_session_done()
1078 (struct imm_ntfy_from_isp *)sess->iocb, SRB_NACK_LOGO); in qlt_free_session_done()
1108 struct imm_ntfy_from_isp *iocb; in qlt_free_session_done() local
1113 iocb = &con->iocb; in qlt_free_session_done()
1120 iocb->u.isp24.port_name, con->ref_count); in qlt_free_session_done()
1212 static int qlt_reset(struct scsi_qla_host *vha, void *iocb, int mcmd) in qlt_reset() argument
1218 struct imm_ntfy_from_isp *n = (struct imm_ntfy_from_isp *)iocb; in qlt_reset()
1246 return qlt_issue_task_mgmt(sess, 0, mcmd, iocb, QLA24XX_MGMT_SEND_NACK); in qlt_reset()
4407 int fn, void *iocb, int flags) in qlt_issue_task_mgmt() argument
4412 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in qlt_issue_task_mgmt()
4426 if (iocb) { in qlt_issue_task_mgmt()
4427 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb, in qlt_issue_task_mgmt()
4467 static int qlt_handle_task_mgmt(struct scsi_qla_host *vha, void *iocb) in qlt_handle_task_mgmt() argument
4469 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in qlt_handle_task_mgmt()
4489 return qlt_issue_task_mgmt(sess, unpacked_lun, fn, iocb, 0); in qlt_handle_task_mgmt()
4494 struct imm_ntfy_from_isp *iocb, struct fc_port *sess) in __qlt_abort_task() argument
4496 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in __qlt_abort_task()
4512 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb, in __qlt_abort_task()
4522 le16_to_cpu(iocb->u.isp2x.seq_id)); in __qlt_abort_task()
4536 struct imm_ntfy_from_isp *iocb) in qlt_abort_task() argument
4543 loop_id = GET_TARGET_ID(ha, (struct atio_from_isp *)iocb); in qlt_abort_task()
4554 QLA_TGT_SESS_WORK_ABORT, iocb, sizeof(*iocb)); in qlt_abort_task()
4557 return __qlt_abort_task(vha, iocb, sess); in qlt_abort_task()
4688 struct imm_ntfy_from_isp *iocb) in qlt_handle_login() argument
4700 wwn = wwn_to_u64(iocb->u.isp24.port_name); in qlt_handle_login()
4702 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_handle_login()
4703 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_handle_login()
4704 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_handle_login()
4707 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_handle_login()
4721 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4732 iocb->u.isp24.status_subcode == ELS_PLOGI && in qlt_handle_login()
4733 !(le16_to_cpu(iocb->u.isp24.flags) & NOTIFY24XX_FLAGS_FCSP)) { in qlt_handle_login()
4737 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4746 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4748 } else if (iocb->u.isp24.status_subcode == ELS_PLOGI && in qlt_handle_login()
4749 !(le16_to_cpu(iocb->u.isp24.flags) & NOTIFY24XX_FLAGS_FCSP)) { in qlt_handle_login()
4753 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4758 pla = qlt_plogi_ack_find_add(vha, &port_id, iocb); in qlt_handle_login()
4763 iocb->u.isp24.port_name); in qlt_handle_login()
4764 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4778 __func__, __LINE__, iocb->u.isp24.port_name); in qlt_handle_login()
4779 if (iocb->u.isp24.status_subcode == ELS_PLOGI) in qlt_handle_login()
4781 iocb->u.isp24.port_name, in qlt_handle_login()
4782 iocb->u.isp24.u.plogi.node_name, in qlt_handle_login()
4786 iocb->u.isp24.port_name, NULL, in qlt_handle_login()
4816 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4825 if (iocb->u.isp24.status_subcode == ELS_PLOGI) { in qlt_handle_login()
4838 if (iocb->u.isp24.status_subcode == ELS_PRLI) { in qlt_handle_login()
4844 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo); in qlt_handle_login()
4906 struct imm_ntfy_from_isp *iocb) in qlt_24xx_handle_els() argument
4920 wwn = wwn_to_u64(iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4922 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_24xx_handle_els()
4923 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_24xx_handle_els()
4924 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_24xx_handle_els()
4927 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_24xx_handle_els()
4931 vha->vp_idx, iocb->u.isp24.port_id[2], in qlt_24xx_handle_els()
4932 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0], in qlt_24xx_handle_els()
4933 iocb->u.isp24.status_subcode, loop_id, in qlt_24xx_handle_els()
4934 iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4939 switch (iocb->u.isp24.status_subcode) { in qlt_24xx_handle_els()
4941 res = qlt_handle_login(vha, iocb); in qlt_24xx_handle_els()
4947 iocb->u.isp24.port_name, 1); in qlt_24xx_handle_els()
4954 __func__, __LINE__, iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4955 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
4963 iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4964 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
4968 res = qlt_handle_login(vha, iocb); in qlt_24xx_handle_els()
4977 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo); in qlt_24xx_handle_els()
4997 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5012 __func__, __LINE__, iocb->u.isp24.port_name); in qlt_24xx_handle_els()
5013 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5042 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5066 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5077 sess->loop_id, sess, iocb->u.isp24.nport_handle); in qlt_24xx_handle_els()
5102 qla24xx_post_nack_work(vha, sess, iocb, in qlt_24xx_handle_els()
5115 qla24xx_post_nack_work(vha, sess, iocb, in qlt_24xx_handle_els()
5123 if (le16_to_cpu(iocb->u.isp24.flags) & in qlt_24xx_handle_els()
5126 qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS); in qlt_24xx_handle_els()
5141 memcpy(sess->iocb, iocb, IOCB_SIZE); in qlt_24xx_handle_els()
5144 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS); in qlt_24xx_handle_els()
5177 iocb->u.isp24.port_name, 1); in qlt_24xx_handle_els()
5193 "received\n", vha->vp_idx, iocb->u.isp24.status_subcode); in qlt_24xx_handle_els()
5194 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS); in qlt_24xx_handle_els()
5200 vha->vp_idx, iocb->u.isp24.status_subcode, res); in qlt_24xx_handle_els()
5210 struct imm_ntfy_from_isp *iocb) in qlt_handle_imm_notify() argument
5219 status = le16_to_cpu(iocb->u.isp2x.status); in qlt_handle_imm_notify()
5225 vha->vp_idx, le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5226 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5228 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5240 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5241 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5246 memcpy(&tgt->link_reinit_iocb, iocb, sizeof(*iocb)); in qlt_handle_imm_notify()
5260 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5261 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5263 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS) == 0) in qlt_handle_imm_notify()
5271 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5280 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5290 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5305 le16_to_cpu(iocb->u.isp2x.seq_id), in qlt_handle_imm_notify()
5306 GET_TARGET_ID(ha, (struct atio_from_isp *)iocb), in qlt_handle_imm_notify()
5307 le16_to_cpu(iocb->u.isp2x.lun)); in qlt_handle_imm_notify()
5308 if (qlt_abort_task(vha, iocb) == 0) in qlt_handle_imm_notify()
5321 vha->vp_idx, iocb->u.isp2x.task_flags); in qlt_handle_imm_notify()
5325 if (qlt_24xx_handle_els(vha, iocb) == 0) in qlt_handle_imm_notify()
5336 qlt_send_notify_ack(ha->base_qpair, iocb, add_flags, 0, 0, 0, in qlt_handle_imm_notify()