Lines Matching defs:iocb
106 int fn, void *iocb, int flags);
532 memcpy(e->u.nack.iocb, ntfy, sizeof(struct imm_ntfy_from_isp));
679 (struct imm_ntfy_from_isp *)e->u.nack.iocb, e->u.nack.type);
774 * Upon successful return content of iocb is undefined
778 struct imm_ntfy_from_isp *iocb)
789 pla->iocb.u.isp24.port_name);
790 qlt_send_term_imm_notif(vha, &pla->iocb, 1);
791 memcpy(&pla->iocb, iocb, sizeof(pla->iocb));
804 memcpy(&pla->iocb, iocb, sizeof(pla->iocb));
814 struct imm_ntfy_from_isp *iocb = &pla->iocb;
827 " exch %#x ox_id %#x\n", iocb->u.isp24.port_name,
828 iocb->u.isp24.port_id[2], iocb->u.isp24.port_id[1],
829 iocb->u.isp24.port_id[0],
830 le16_to_cpu(iocb->u.isp24.nport_handle),
831 iocb->u.isp24.exchange_address, iocb->ox_id);
833 port_id.b.domain = iocb->u.isp24.port_id[2];
834 port_id.b.area = iocb->u.isp24.port_id[1];
835 port_id.b.al_pa = iocb->u.isp24.port_id[0];
838 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle);
842 if (iocb->u.isp24.status_subcode == ELS_PLOGI)
843 qla24xx_post_nack_work(vha, fcport, iocb, SRB_NACK_PLOGI);
845 qla24xx_post_nack_work(vha, fcport, iocb, SRB_NACK_PRLI);
862 struct imm_ntfy_from_isp *iocb = &pla->iocb;
870 iocb->u.isp24.port_name, iocb->u.isp24.port_id[2],
871 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0],
985 (own->iocb.u.isp24.status_subcode == ELS_PLOGI)) {
995 } else if (own && (own->iocb.u.isp24.status_subcode ==
1015 (!own || own->iocb.u.isp24.status_subcode == ELS_PLOGI)) {
1068 (struct imm_ntfy_from_isp *)sess->iocb, SRB_NACK_LOGO);
1098 struct imm_ntfy_from_isp *iocb;
1103 iocb = &con->iocb;
1110 iocb->u.isp24.port_name, con->ref_count);
1202 static int qlt_reset(struct scsi_qla_host *vha, void *iocb, int mcmd)
1208 struct imm_ntfy_from_isp *n = (struct imm_ntfy_from_isp *)iocb;
1236 return qlt_issue_task_mgmt(sess, 0, mcmd, iocb, QLA24XX_MGMT_SEND_NACK);
4441 int fn, void *iocb, int flags)
4446 struct atio_from_isp *a = (struct atio_from_isp *)iocb;
4460 if (iocb) {
4461 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb,
4501 static int qlt_handle_task_mgmt(struct scsi_qla_host *vha, void *iocb)
4503 struct atio_from_isp *a = (struct atio_from_isp *)iocb;
4523 return qlt_issue_task_mgmt(sess, unpacked_lun, fn, iocb, 0);
4528 struct imm_ntfy_from_isp *iocb, struct fc_port *sess)
4530 struct atio_from_isp *a = (struct atio_from_isp *)iocb;
4546 memcpy(&mcmd->orig_iocb.imm_ntfy, iocb,
4556 le16_to_cpu(iocb->u.isp2x.seq_id));
4570 struct imm_ntfy_from_isp *iocb)
4577 loop_id = GET_TARGET_ID(ha, (struct atio_from_isp *)iocb);
4588 QLA_TGT_SESS_WORK_ABORT, iocb, sizeof(*iocb));
4591 return __qlt_abort_task(vha, iocb, sess);
4722 struct imm_ntfy_from_isp *iocb)
4734 wwn = wwn_to_u64(iocb->u.isp24.port_name);
4736 port_id.b.domain = iocb->u.isp24.port_id[2];
4737 port_id.b.area = iocb->u.isp24.port_id[1];
4738 port_id.b.al_pa = iocb->u.isp24.port_id[0];
4741 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle);
4755 qlt_send_term_imm_notif(vha, iocb, 1);
4766 iocb->u.isp24.status_subcode == ELS_PLOGI &&
4767 !(le16_to_cpu(iocb->u.isp24.flags) & NOTIFY24XX_FLAGS_FCSP)) {
4771 qlt_send_term_imm_notif(vha, iocb, 1);
4780 qlt_send_term_imm_notif(vha, iocb, 1);
4782 } else if (iocb->u.isp24.status_subcode == ELS_PLOGI &&
4783 !(le16_to_cpu(iocb->u.isp24.flags) & NOTIFY24XX_FLAGS_FCSP)) {
4787 qlt_send_term_imm_notif(vha, iocb, 1);
4792 pla = qlt_plogi_ack_find_add(vha, &port_id, iocb);
4797 iocb->u.isp24.port_name);
4798 qlt_send_term_imm_notif(vha, iocb, 1);
4812 __func__, __LINE__, iocb->u.isp24.port_name);
4813 if (iocb->u.isp24.status_subcode == ELS_PLOGI)
4815 iocb->u.isp24.port_name,
4816 iocb->u.isp24.u.plogi.node_name,
4820 iocb->u.isp24.port_name, NULL,
4850 qlt_send_term_imm_notif(vha, iocb, 1);
4859 if (iocb->u.isp24.status_subcode == ELS_PLOGI) {
4872 if (iocb->u.isp24.status_subcode == ELS_PRLI) {
4878 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo);
4940 struct imm_ntfy_from_isp *iocb)
4954 wwn = wwn_to_u64(iocb->u.isp24.port_name);
4956 port_id.b.domain = iocb->u.isp24.port_id[2];
4957 port_id.b.area = iocb->u.isp24.port_id[1];
4958 port_id.b.al_pa = iocb->u.isp24.port_id[0];
4961 loop_id = le16_to_cpu(iocb->u.isp24.nport_handle);
4965 vha->vp_idx, iocb->u.isp24.port_id[2],
4966 iocb->u.isp24.port_id[1], iocb->u.isp24.port_id[0],
4967 iocb->u.isp24.status_subcode, loop_id,
4968 iocb->u.isp24.port_name);
4973 switch (iocb->u.isp24.status_subcode) {
4975 res = qlt_handle_login(vha, iocb);
4981 iocb->u.isp24.port_name, 1);
4988 __func__, __LINE__, iocb->u.isp24.port_name);
4989 qlt_send_term_imm_notif(vha, iocb, 1);
4997 iocb->u.isp24.port_name);
4998 qlt_send_term_imm_notif(vha, iocb, 1);
5002 res = qlt_handle_login(vha, iocb);
5011 wd3_lo = le16_to_cpu(iocb->u.isp24.u.prli.wd3_lo);
5031 qlt_send_term_imm_notif(vha, iocb, 1);
5046 __func__, __LINE__, iocb->u.isp24.port_name);
5047 qlt_send_term_imm_notif(vha, iocb, 1);
5076 qlt_send_term_imm_notif(vha, iocb, 1);
5100 qlt_send_term_imm_notif(vha, iocb, 1);
5111 sess->loop_id, sess, iocb->u.isp24.nport_handle);
5136 qla24xx_post_nack_work(vha, sess, iocb,
5149 qla24xx_post_nack_work(vha, sess, iocb,
5157 if (le16_to_cpu(iocb->u.isp24.flags) &
5160 qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS);
5175 memcpy(sess->iocb, iocb, IOCB_SIZE);
5178 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS);
5211 iocb->u.isp24.port_name, 1);
5227 "received\n", vha->vp_idx, iocb->u.isp24.status_subcode);
5228 res = qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS);
5234 vha->vp_idx, iocb->u.isp24.status_subcode, res);
5244 struct imm_ntfy_from_isp *iocb)
5253 status = le16_to_cpu(iocb->u.isp2x.status);
5259 vha->vp_idx, le16_to_cpu(iocb->u.isp24.nport_handle),
5260 iocb->u.isp24.status_subcode);
5262 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0)
5274 le16_to_cpu(iocb->u.isp24.nport_handle),
5275 iocb->u.isp24.status_subcode);
5280 memcpy(&tgt->link_reinit_iocb, iocb, sizeof(*iocb));
5294 le16_to_cpu(iocb->u.isp24.nport_handle),
5295 iocb->u.isp24.status_subcode);
5297 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS_SESS) == 0)
5305 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0)
5314 if (qlt_reset(vha, iocb, QLA_TGT_ABORT_ALL) == 0)
5324 if (qlt_reset(vha, iocb, QLA_TGT_NEXUS_LOSS) == 0)
5339 le16_to_cpu(iocb->u.isp2x.seq_id),
5340 GET_TARGET_ID(ha, (struct atio_from_isp *)iocb),
5341 le16_to_cpu(iocb->u.isp2x.lun));
5342 if (qlt_abort_task(vha, iocb) == 0)
5355 vha->vp_idx, iocb->u.isp2x.task_flags);
5359 if (qlt_24xx_handle_els(vha, iocb) == 0)
5370 qlt_send_notify_ack(ha->base_qpair, iocb, add_flags, 0, 0, 0,