fc_id_t s_id, fc_id_t d_id, void *buffer, int buflen) 
u32 s_id, u32 d_id, void *buffer, int buflen) 
_zfcp_san_dbf_event_common_ct(const char *tag, struct zfcp_fsf_req *fsf_req,			      fc_id_t s_id, fc_id_t d_id,			      void *buffer, int buflen){	struct zfcp_send_ct *send_ct = (struct zfcp_send_ct *)fsf_req->data;	struct zfcp_port *port = send_ct->port;	struct zfcp_adapter *adapter = port->adapter;	struct ct_hdr *header = (struct ct_hdr *)buffer;	struct zfcp_san_dbf_record *rec = &adapter->san_dbf_buf;	struct zfcp_san_dbf_record_ct *ct = &rec->type.ct;	unsigned long flags;	spin_lock_irqsave(&adapter->san_dbf_lock, flags);	memset(rec, 0, sizeof(struct zfcp_san_dbf_record));	strncpy(rec->tag, tag, ZFCP_DBF_TAG_SIZE);	rec->fsf_reqid = (unsigned long)fsf_req;	rec->fsf_seqno = fsf_req->seq_no;	rec->s_id = s_id;	rec->d_id = d_id;	if (strncmp(tag, "octc", ZFCP_DBF_TAG_SIZE) == 0) {		ct->type.request.cmd_req_code = header->cmd_rsp_code;		ct->type.request.revision = header->revision;		ct->type.request.gs_type = header->gs_type;		ct->type.request.gs_subtype = header->gs_subtype;		ct->type.request.options = header->options;		ct->type.request.max_res_size = header->max_res_size;	} else if (strncmp(tag, "rctc", ZFCP_DBF_TAG_SIZE) == 0) {		ct->type.response.cmd_rsp_code = header->cmd_rsp_code;		ct->type.response.revision = header->revision;		ct->type.response.reason_code = header->reason_code;		ct->type.response.reason_code_expl = header->reason_code_expl;		ct->type.response.vendor_unique = header->vendor_unique;	}	ct->payload_size =	    min(buflen - (int)sizeof(struct ct_hdr), ZFCP_DBF_CT_PAYLOAD);	memcpy(ct->payload, buffer + sizeof(struct ct_hdr), ct->payload_size);	debug_event(adapter->san_dbf, 3,		    rec, sizeof(struct zfcp_san_dbf_record));	spin_unlock_irqrestore(&adapter->san_dbf_lock, flags);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/13e1e1f08c1c098c7574c1fa72bd8c67792dc89b/zfcp_dbf.c/buggy/drivers/s390/scsi/zfcp_dbf.c