Lines Matching full:fcp

104 	struct fcp_resp_with_ext *fcp;  in ft_queue_status()  local
115 len = sizeof(*fcp) + se_cmd->scsi_sense_length; in ft_queue_status()
122 fcp = fc_frame_payload_get(fp, len); in ft_queue_status()
123 memset(fcp, 0, len); in ft_queue_status()
124 fcp->resp.fr_status = se_cmd->scsi_status; in ft_queue_status()
128 fcp->resp.fr_flags |= FCP_SNS_LEN_VAL; in ft_queue_status()
129 fcp->ext.fr_sns_len = htonl(len); in ft_queue_status()
130 memcpy((fcp + 1), se_cmd->sense_buffer, len); in ft_queue_status()
139 fcp->resp.fr_flags |= FCP_RESID_OVER; in ft_queue_status()
141 fcp->resp.fr_flags |= FCP_RESID_UNDER; in ft_queue_status()
142 fcp->ext.fr_resid = cpu_to_be32(se_cmd->residual_count); in ft_queue_status()
261 * Send a FCP response including SCSI status and optional FCP rsp_code.
273 struct fcp_resp_with_ext *fcp; in ft_send_resp_status() local
277 pr_debug("FCP error response: did %x oxid %x status %x code %x\n", in ft_send_resp_status()
279 len = sizeof(*fcp); in ft_send_resp_status()
285 fcp = fc_frame_payload_get(fp, len); in ft_send_resp_status()
286 memset(fcp, 0, len); in ft_send_resp_status()
287 fcp->resp.fr_status = status; in ft_send_resp_status()
289 fcp->ext.fr_rsp_len = htonl(sizeof(*info)); in ft_send_resp_status()
290 fcp->resp.fr_flags |= FCP_RSP_LEN_VAL; in ft_send_resp_status()
291 info = (struct fcp_resp_rsp_info *)(fcp + 1); in ft_send_resp_status()
332 struct fcp_cmnd *fcp; in ft_send_tm() local
336 fcp = fc_frame_payload_get(cmd->req_frame, sizeof(*fcp)); in ft_send_tm()
338 switch (fcp->fc_tm_flags) { in ft_send_tm()
359 pr_debug("invalid FCP tm_flags %x\n", fcp->fc_tm_flags); in ft_send_tm()
366 &cmd->ft_sense_buffer[0], scsilun_to_int(&fcp->fc_lun), in ft_send_tm()
399 pr_debug("tmr fn %d resp %d fcp code %d\n", in ft_queue_tm_resp()
418 * Handle incoming FCP command.
457 * Handle incoming FCP frame.
458 * Caller has verified that the frame is type FCP.
489 struct fcp_cmnd *fcp; in ft_send_work() local
493 fcp = fc_frame_payload_get(cmd->req_frame, sizeof(*fcp)); in ft_send_work()
494 if (!fcp) in ft_send_work()
497 if (fcp->fc_flags & FCP_CFL_LEN_MASK) in ft_send_work()
501 * Check for FCP task management flags in ft_send_work()
503 if (fcp->fc_tm_flags) { in ft_send_work()
508 switch (fcp->fc_flags & (FCP_CFL_RDDATA | FCP_CFL_WRDATA)) { in ft_send_work()
524 switch (fcp->fc_pri_ta & FCP_PTA_MASK) { in ft_send_work()
548 scsilun_to_int(&fcp->fc_lun), ntohl(fcp->fc_dl), in ft_send_work()
552 if (target_submit_prep(&cmd->se_cmd, fcp->fc_cdb, NULL, 0, NULL, 0, in ft_send_work()