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()
1068 (struct imm_ntfy_from_isp *)sess->iocb, SRB_NACK_LOGO); in qlt_free_session_done()
1103 struct imm_ntfy_from_isp *iocb; in qlt_free_session_done() local
1108 iocb = &con->iocb; in qlt_free_session_done()
1115 iocb->u.isp24.port_name, con->ref_count); in qlt_free_session_done()
1202 static int qlt_reset(struct scsi_qla_host *vha, void *iocb, int mcmd) in qlt_reset() argument
1208 struct imm_ntfy_from_isp *n = (struct imm_ntfy_from_isp *)iocb; in qlt_reset()
1236 return qlt_issue_task_mgmt(sess, 0, mcmd, iocb, QLA24XX_MGMT_SEND_NACK); in qlt_reset()
4442 int fn, void *iocb, int flags) in qlt_issue_task_mgmt() argument
4447 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in qlt_issue_task_mgmt()
4461 if (iocb) { in qlt_issue_task_mgmt()
4462 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb, in qlt_issue_task_mgmt()
4502 static int qlt_handle_task_mgmt(struct scsi_qla_host *vha, void *iocb) in qlt_handle_task_mgmt() argument
4504 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in qlt_handle_task_mgmt()
4524 return qlt_issue_task_mgmt(sess, unpacked_lun, fn, iocb, 0); in qlt_handle_task_mgmt()
4529 struct imm_ntfy_from_isp *iocb, struct fc_port *sess) in __qlt_abort_task() argument
4531 struct atio_from_isp *a = (struct atio_from_isp *)iocb; in __qlt_abort_task()
4547 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb, in __qlt_abort_task()
4557 le16_to_cpu(iocb->u.isp2x.seq_id)); in __qlt_abort_task()
4571 struct imm_ntfy_from_isp *iocb) in qlt_abort_task() argument
4578 loop_id = GET_TARGET_ID(ha, (struct atio_from_isp *)iocb); in qlt_abort_task()
4589 QLA_TGT_SESS_WORK_ABORT, iocb, sizeof(*iocb)); in qlt_abort_task()
4592 return __qlt_abort_task(vha, iocb, sess); in qlt_abort_task()
4723 struct imm_ntfy_from_isp *iocb) in qlt_handle_login() argument
4735 wwn = wwn_to_u64(iocb->u.isp24.port_name); in qlt_handle_login()
4737 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_handle_login()
4738 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_handle_login()
4739 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_handle_login()
4742 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_handle_login()
4756 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4767 iocb->u.isp24.status_subcode == ELS_PLOGI && in qlt_handle_login()
4768 !(le16_to_cpu(iocb->u.isp24.flags) & NOTIFY24XX_FLAGS_FCSP)) { in qlt_handle_login()
4772 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4781 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4783 } else if (iocb->u.isp24.status_subcode == ELS_PLOGI && in qlt_handle_login()
4784 !(le16_to_cpu(iocb->u.isp24.flags) & NOTIFY24XX_FLAGS_FCSP)) { in qlt_handle_login()
4788 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4793 pla = qlt_plogi_ack_find_add(vha, &port_id, iocb); in qlt_handle_login()
4798 iocb->u.isp24.port_name); in qlt_handle_login()
4799 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4813 __func__, __LINE__, iocb->u.isp24.port_name); in qlt_handle_login()
4814 if (iocb->u.isp24.status_subcode == ELS_PLOGI) in qlt_handle_login()
4816 iocb->u.isp24.port_name, in qlt_handle_login()
4817 iocb->u.isp24.u.plogi.node_name, in qlt_handle_login()
4821 iocb->u.isp24.port_name, NULL, in qlt_handle_login()
4851 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_handle_login()
4860 if (iocb->u.isp24.status_subcode == ELS_PLOGI) { in qlt_handle_login()
4873 if (iocb->u.isp24.status_subcode == ELS_PRLI) { in qlt_handle_login()
4879 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo); in qlt_handle_login()
4941 struct imm_ntfy_from_isp *iocb) in qlt_24xx_handle_els() argument
4955 wwn = wwn_to_u64(iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4957 port_id.b.domain = iocb->u.isp24.port_id[2]; in qlt_24xx_handle_els()
4958 port_id.b.area = iocb->u.isp24.port_id[1]; in qlt_24xx_handle_els()
4959 port_id.b.al_pa = iocb->u.isp24.port_id[0]; in qlt_24xx_handle_els()
4962 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle); in qlt_24xx_handle_els()
4966 vha->vp_idx, iocb->u.isp24.port_id[2], in qlt_24xx_handle_els()
4967 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0], in qlt_24xx_handle_els()
4968 iocb->u.isp24.status_subcode, loop_id, in qlt_24xx_handle_els()
4969 iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4974 switch (iocb->u.isp24.status_subcode) { in qlt_24xx_handle_els()
4976 res = qlt_handle_login(vha, iocb); in qlt_24xx_handle_els()
4982 iocb->u.isp24.port_name, 1); in qlt_24xx_handle_els()
4989 __func__, __LINE__, iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4990 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
4998 iocb->u.isp24.port_name); in qlt_24xx_handle_els()
4999 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5003 res = qlt_handle_login(vha, iocb); in qlt_24xx_handle_els()
5012 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo); in qlt_24xx_handle_els()
5032 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5047 __func__, __LINE__, iocb->u.isp24.port_name); in qlt_24xx_handle_els()
5048 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5077 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5101 qlt_send_term_imm_notif(vha, iocb, 1); in qlt_24xx_handle_els()
5112 sess->loop_id, sess, iocb->u.isp24.nport_handle); in qlt_24xx_handle_els()
5137 qla24xx_post_nack_work(vha, sess, iocb, in qlt_24xx_handle_els()
5150 qla24xx_post_nack_work(vha, sess, iocb, in qlt_24xx_handle_els()
5158 if (le16_to_cpu(iocb->u.isp24.flags) & in qlt_24xx_handle_els()
5161 qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS); in qlt_24xx_handle_els()
5176 memcpy(sess->iocb, iocb, IOCB_SIZE); in qlt_24xx_handle_els()
5179 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS); in qlt_24xx_handle_els()
5212 iocb->u.isp24.port_name, 1); in qlt_24xx_handle_els()
5228 "received\n", vha->vp_idx, iocb->u.isp24.status_subcode); in qlt_24xx_handle_els()
5229 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS); in qlt_24xx_handle_els()
5235 vha->vp_idx, iocb->u.isp24.status_subcode, res); in qlt_24xx_handle_els()
5245 struct imm_ntfy_from_isp *iocb) in qlt_handle_imm_notify() argument
5254 status = le16_to_cpu(iocb->u.isp2x.status); in qlt_handle_imm_notify()
5260 vha->vp_idx, 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_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5275 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5276 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5281 memcpy(&tgt->link_reinit_iocb, iocb, sizeof(*iocb)); in qlt_handle_imm_notify()
5295 le16_to_cpu(iocb->u.isp24.nport_handle), in qlt_handle_imm_notify()
5296 iocb->u.isp24.status_subcode); in qlt_handle_imm_notify()
5298 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS) == 0) in qlt_handle_imm_notify()
5306 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5315 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0) in qlt_handle_imm_notify()
5325 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0) in qlt_handle_imm_notify()
5340 le16_to_cpu(iocb->u.isp2x.seq_id), in qlt_handle_imm_notify()
5341 GET_TARGET_ID(ha, (struct atio_from_isp *)iocb), in qlt_handle_imm_notify()
5342 le16_to_cpu(iocb->u.isp2x.lun)); in qlt_handle_imm_notify()
5343 if (qlt_abort_task(vha, iocb) == 0) in qlt_handle_imm_notify()
5356 vha->vp_idx, iocb->u.isp2x.task_flags); in qlt_handle_imm_notify()
5360 if (qlt_24xx_handle_els(vha, iocb) == 0) in qlt_handle_imm_notify()
5371 qlt_send_notify_ack(ha->base_qpair, iocb, add_flags, 0, 0, 0, in qlt_handle_imm_notify()