patches: refresh on kernel v4.16-rc3
[openwrt/staging/blogic.git] / patches / 0018-pv-trace-fixes / net_mac80211_trace.patch
1 --- a/net/mac80211/trace.c
2 +++ b/net/mac80211/trace.c
3 @@ -17,12 +17,16 @@ void __sdata_info(const char *fmt, ...)
4 struct va_format vaf = {
5 .fmt = fmt,
6 };
7 - va_list args;
8 + va_list args, args2;
9
10 va_start(args, fmt);
11 - vaf.va = &args;
12
13 + va_copy(args2, args);
14 + vaf.va = &args2;
15 pr_info("%pV", &vaf);
16 + va_end(args2);
17 +
18 + vaf.va = &args;
19 trace_mac80211_info(&vaf);
20 va_end(args);
21 }
22 @@ -35,10 +39,16 @@ void __sdata_dbg(bool print, const char
23 va_list args;
24
25 va_start(args, fmt);
26 - vaf.va = &args;
27
28 - if (print)
29 + if (print) {
30 + va_list args2;
31 +
32 + va_copy(args2, args);
33 + vaf.va = &args2;
34 pr_debug("%pV", &vaf);
35 + va_end(args2);
36 + }
37 + vaf.va = &args;
38 trace_mac80211_dbg(&vaf);
39 va_end(args);
40 }
41 @@ -48,12 +58,16 @@ void __sdata_err(const char *fmt, ...)
42 struct va_format vaf = {
43 .fmt = fmt,
44 };
45 - va_list args;
46 + va_list args, args2;
47
48 va_start(args, fmt);
49 - vaf.va = &args;
50
51 + va_copy(args2, args);
52 + vaf.va = &args2;
53 pr_err("%pV", &vaf);
54 + va_end(args2);
55 +
56 + vaf.va = &args;
57 trace_mac80211_err(&vaf);
58 va_end(args);
59 }
60 @@ -66,10 +80,16 @@ void __wiphy_dbg(struct wiphy *wiphy, bo
61 va_list args;
62
63 va_start(args, fmt);
64 - vaf.va = &args;
65
66 - if (print)
67 - wiphy_dbg(wiphy, "%pV", &vaf);
68 + if (print) {
69 + va_list args2;
70 +
71 + va_copy(args2, args);
72 + vaf.va = &args2;
73 + pr_debug("%pV", &vaf);
74 + va_end(args2);
75 + }
76 + vaf.va = &args;
77 trace_mac80211_dbg(&vaf);
78 va_end(args);
79 }