• Takashi Sakamoto's avatar
    ALSA: firewire-lib: fix 'function sizeof not defined' error of tracepoints format · 10348721
    Takashi Sakamoto authored
    The snd-firewire-lib.ko has 'amdtp-packet' event of tracepoints. Current
    printk format for the event includes 'sizeof(u8)' macro expected to be
    extended in compilation time. However, this is not done. As a result,
    perf tools cannot parse the event for printing:
    
    $ mount -l -t debugfs
    debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
    $ cat /sys/kernel/debug/tracing/events/snd_firewire_lib/amdtp_packet/format
    ...
    print fmt: "%02u %04u %04x %04x %02d %03u %02u %03u %02u %01u %02u %s",
      REC->second, REC->cycle, REC->src, REC->dest, REC->channel,
      REC->payload_quadlets, REC->data_blocks, REC->data_block_counter,
      REC->packet_index, REC->irq, REC->index,
      __print_array(__get_dynamic_array(cip_header),
                    __get_dynamic_array_len(cip_header),
                    sizeof(u8))
    
    $ sudo perf record -e snd_firewire_lib:amdtp_packet
      [snd_firewire_lib:amdtp_packet] function sizeof not defined
      Error: expected type 5 but read 0
    
    This commit fixes it by obsoleting the macro with actual size.
    
    Cc: <stable@vger.kernel.org>
    Fixes: bde2bbdb ("ALSA: firewire-lib: use dynamic array for CIP header of tracing events")
    Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Link: https://lore.kernel.org/r/20200503045718.86337-1-o-takashi@sakamocchi.jpSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    10348721
amdtp-stream-trace.h 2.44 KB