• Home
  • Raw
  • Download

Lines Matching refs:fp

70 static void fc_disc_recv_rscn_req(struct fc_disc *disc, struct fc_frame *fp)  in fc_disc_recv_rscn_req()  argument
90 rp = fc_frame_payload_get(fp, sizeof(*rp)); in fc_disc_recv_rscn_req()
101 rp = fc_frame_payload_get(fp, len); in fc_disc_recv_rscn_req()
140 fc_seq_els_rsp_send(fp, ELS_LS_ACC, NULL); in fc_disc_recv_rscn_req()
162 fc_frame_free(fp); in fc_disc_recv_rscn_req()
168 fc_seq_els_rsp_send(fp, ELS_LS_RJT, &rjt_data); in fc_disc_recv_rscn_req()
169 fc_frame_free(fp); in fc_disc_recv_rscn_req()
181 static void fc_disc_recv_req(struct fc_lport *lport, struct fc_frame *fp) in fc_disc_recv_req() argument
186 op = fc_frame_payload_op(fp); in fc_disc_recv_req()
190 fc_disc_recv_rscn_req(disc, fp); in fc_disc_recv_req()
196 fc_frame_free(fp); in fc_disc_recv_req()
299 static void fc_disc_error(struct fc_disc *disc, struct fc_frame *fp) in fc_disc_error() argument
305 PTR_ERR_OR_ZERO(fp), disc->retry_count, in fc_disc_error()
308 if (!fp || PTR_ERR(fp) == -FC_EX_TIMEOUT) { in fc_disc_error()
315 if (!fp) in fc_disc_error()
328 } else if (PTR_ERR(fp) == -FC_EX_CLOSED) { in fc_disc_error()
344 struct fc_frame *fp; in fc_disc_gpn_ft_req() local
356 fp = fc_frame_alloc(lport, in fc_disc_gpn_ft_req()
359 if (!fp) in fc_disc_gpn_ft_req()
362 if (lport->tt.elsct_send(lport, 0, fp, in fc_disc_gpn_ft_req()
496 static void fc_disc_gpn_ft_resp(struct fc_seq *sp, struct fc_frame *fp, in fc_disc_gpn_ft_resp() argument
510 if (IS_ERR(fp)) { in fc_disc_gpn_ft_resp()
511 fc_disc_error(disc, fp); in fc_disc_gpn_ft_resp()
516 WARN_ON(!fc_frame_is_linear(fp)); /* buffer must be contiguous */ in fc_disc_gpn_ft_resp()
517 fh = fc_frame_header_get(fp); in fc_disc_gpn_ft_resp()
518 len = fr_len(fp) - sizeof(*fh); in fc_disc_gpn_ft_resp()
520 if (fr_sof(fp) == FC_SOF_I3 && seq_cnt == 0 && disc->seq_count == 0) { in fc_disc_gpn_ft_resp()
521 cp = fc_frame_payload_get(fp, sizeof(*cp)); in fc_disc_gpn_ft_resp()
524 fr_len(fp)); in fc_disc_gpn_ft_resp()
544 } else if (fr_sof(fp) == FC_SOF_N3 && seq_cnt == disc->seq_count) { in fc_disc_gpn_ft_resp()
549 seq_cnt, disc->seq_count, fr_sof(fp), fr_eof(fp)); in fc_disc_gpn_ft_resp()
556 fc_frame_free(fp); in fc_disc_gpn_ft_resp()
568 static void fc_disc_gpn_id_resp(struct fc_seq *sp, struct fc_frame *fp, in fc_disc_gpn_id_resp() argument
582 if (PTR_ERR(fp) == -FC_EX_CLOSED) in fc_disc_gpn_id_resp()
584 if (IS_ERR(fp)) { in fc_disc_gpn_id_resp()
591 cp = fc_frame_payload_get(fp, sizeof(*cp)); in fc_disc_gpn_id_resp()
595 if (fr_len(fp) < sizeof(struct fc_frame_header) + in fc_disc_gpn_id_resp()
634 fc_frame_free(fp); in fc_disc_gpn_id_resp()
649 struct fc_frame *fp; in fc_disc_gpn_id_req() local
652 fp = fc_frame_alloc(lport, sizeof(struct fc_ct_hdr) + in fc_disc_gpn_id_req()
654 if (!fp) in fc_disc_gpn_id_req()
656 if (!lport->tt.elsct_send(lport, rdata->ids.port_id, fp, FC_NS_GPN_ID, in fc_disc_gpn_id_req()