#include <linux/tracepoint.h>
 
 TRACE_EVENT(in_packet,
-       TP_PROTO(const struct amdtp_stream *s, u32 cycles, u32 *cip_header, unsigned int payload_length, unsigned int index),
+       TP_PROTO(const struct amdtp_stream *s, u32 cycles, const __be32 *cip_header, unsigned int payload_length, unsigned int index),
        TP_ARGS(s, cycles, cip_header, payload_length, index),
        TP_STRUCT__entry(
                __field(unsigned int, second)
                __entry->channel = s->context->channel;
                __entry->src = fw_parent_device(s->unit)->node_id;
                __entry->dest = fw_parent_device(s->unit)->card->node_id;
-               __entry->cip_header0 = cip_header[0];
-               __entry->cip_header1 = cip_header[1];
+               __entry->cip_header0 = be32_to_cpu(cip_header[0]);
+               __entry->cip_header1 = be32_to_cpu(cip_header[1]);
                __entry->payload_quadlets = payload_length / 4;
                __entry->packet_index = s->packet_index;
                __entry->irq = !!in_interrupt();
 
        cip_header[0] = be32_to_cpu(buffer[0]);
        cip_header[1] = be32_to_cpu(buffer[1]);
 
-       trace_in_packet(s, cycle, cip_header, payload_length, index);
+       trace_in_packet(s, cycle, buffer, payload_length, index);
 
        /*
         * This module supports 'Two-quadlet CIP header with SYT field'.