[for-next][PATCH 13/23] USB: mtu3: tracing: Use the new __vstring() helper
Chunfeng Yun
chunfeng.yun at mediatek.com
Mon Jul 18 22:18:54 PDT 2022
On Fri, 2022-07-15 at 17:24 -0400, Steven Rostedt wrote:
> On Fri, 15 Jul 2022 18:01:44 +0800
> Chunfeng Yun <chunfeng.yun at mediatek.com> wrote:
>
> > irq/254-1120100-137 [000] d..1. 266.629662: mtu3_log:
> > 11201000.usb: ep0_state SETUPr-speed
> >
> > "r-speed" seems the remain of last log;
>
> I found an off-by-one bug in the vstring patch. I'll rebase, test and
> try
> again.
>
> In the mean time, care to add this on top to make sure it's fixed?
>
> Thanks!
>
> -- Steve
>
> diff --git a/include/linux/trace_events.h
> b/include/linux/trace_events.h
> index e6f8ba52a958..b18759a673c6 100644
> --- a/include/linux/trace_events.h
> +++ b/include/linux/trace_events.h
> @@ -922,16 +922,16 @@ perf_trace_buf_submit(void *raw_data, int size,
> int rctx, u16 type,
> * gcc warns that you can not use a va_list in an inlined
> * function. But lets me make it into a macro :-/
> */
> -#define __trace_event_vstr_len(fmt, va) \
> -({ \
> - va_list __ap; \
> - int __ret; \
> - \
> - va_copy(__ap, *(va)); \
> - __ret = vsnprintf(NULL, 0, fmt, __ap); \
> - va_end(__ap); \
> - \
> - min(__ret, TRACE_EVENT_STR_MAX); \
> +#define __trace_event_vstr_len(fmt, va) \
> +({ \
> + va_list __ap; \
> + int __ret; \
> + \
> + va_copy(__ap, *(va)); \
> + __ret = vsnprintf(NULL, 0, fmt, __ap) + 1; \
It works fine now, thanks a lot
> + va_end(__ap); \
> + \
> + min(__ret, TRACE_EVENT_STR_MAX); \
> })
>
> #endif /* _LINUX_TRACE_EVENT_H */
More information about the Linux-mediatek
mailing list