diff options
-rw-r--r-- | net/mac80211/driver-ops.h | 89 | ||||
-rw-r--r-- | net/mac80211/driver-trace.h | 189 |
2 files changed, 156 insertions, 122 deletions
diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h index a4fcbcc4f458..965d64f68567 100644 --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h | |||
@@ -16,10 +16,11 @@ static inline int drv_start(struct ieee80211_local *local) | |||
16 | 16 | ||
17 | might_sleep(); | 17 | might_sleep(); |
18 | 18 | ||
19 | trace_drv_start(local); | ||
19 | local->started = true; | 20 | local->started = true; |
20 | smp_mb(); | 21 | smp_mb(); |
21 | ret = local->ops->start(&local->hw); | 22 | ret = local->ops->start(&local->hw); |
22 | trace_drv_start(local, ret); | 23 | trace_drv_return_int(local, ret); |
23 | return ret; | 24 | return ret; |
24 | } | 25 | } |
25 | 26 | ||
@@ -27,8 +28,9 @@ static inline void drv_stop(struct ieee80211_local *local) | |||
27 | { | 28 | { |
28 | might_sleep(); | 29 | might_sleep(); |
29 | 30 | ||
30 | local->ops->stop(&local->hw); | ||
31 | trace_drv_stop(local); | 31 | trace_drv_stop(local); |
32 | local->ops->stop(&local->hw); | ||
33 | trace_drv_return_void(local); | ||
32 | 34 | ||
33 | /* sync away all work on the tasklet before clearing started */ | 35 | /* sync away all work on the tasklet before clearing started */ |
34 | tasklet_disable(&local->tasklet); | 36 | tasklet_disable(&local->tasklet); |
@@ -46,8 +48,9 @@ static inline int drv_add_interface(struct ieee80211_local *local, | |||
46 | 48 | ||
47 | might_sleep(); | 49 | might_sleep(); |
48 | 50 | ||
51 | trace_drv_add_interface(local, vif_to_sdata(vif)); | ||
49 | ret = local->ops->add_interface(&local->hw, vif); | 52 | ret = local->ops->add_interface(&local->hw, vif); |
50 | trace_drv_add_interface(local, vif_to_sdata(vif), ret); | 53 | trace_drv_return_int(local, ret); |
51 | return ret; | 54 | return ret; |
52 | } | 55 | } |
53 | 56 | ||
@@ -56,8 +59,9 @@ static inline void drv_remove_interface(struct ieee80211_local *local, | |||
56 | { | 59 | { |
57 | might_sleep(); | 60 | might_sleep(); |
58 | 61 | ||
59 | local->ops->remove_interface(&local->hw, vif); | ||
60 | trace_drv_remove_interface(local, vif_to_sdata(vif)); | 62 | trace_drv_remove_interface(local, vif_to_sdata(vif)); |
63 | local->ops->remove_interface(&local->hw, vif); | ||
64 | trace_drv_return_void(local); | ||
61 | } | 65 | } |
62 | 66 | ||
63 | static inline int drv_config(struct ieee80211_local *local, u32 changed) | 67 | static inline int drv_config(struct ieee80211_local *local, u32 changed) |
@@ -66,8 +70,9 @@ static inline int drv_config(struct ieee80211_local *local, u32 changed) | |||
66 | 70 | ||
67 | might_sleep(); | 71 | might_sleep(); |
68 | 72 | ||
73 | trace_drv_config(local, changed); | ||
69 | ret = local->ops->config(&local->hw, changed); | 74 | ret = local->ops->config(&local->hw, changed); |
70 | trace_drv_config(local, changed, ret); | 75 | trace_drv_return_int(local, ret); |
71 | return ret; | 76 | return ret; |
72 | } | 77 | } |
73 | 78 | ||
@@ -78,9 +83,10 @@ static inline void drv_bss_info_changed(struct ieee80211_local *local, | |||
78 | { | 83 | { |
79 | might_sleep(); | 84 | might_sleep(); |
80 | 85 | ||
86 | trace_drv_bss_info_changed(local, sdata, info, changed); | ||
81 | if (local->ops->bss_info_changed) | 87 | if (local->ops->bss_info_changed) |
82 | local->ops->bss_info_changed(&local->hw, &sdata->vif, info, changed); | 88 | local->ops->bss_info_changed(&local->hw, &sdata->vif, info, changed); |
83 | trace_drv_bss_info_changed(local, sdata, info, changed); | 89 | trace_drv_return_void(local); |
84 | } | 90 | } |
85 | 91 | ||
86 | struct in_ifaddr; | 92 | struct in_ifaddr; |
@@ -92,11 +98,11 @@ static inline int drv_configure_arp_filter(struct ieee80211_local *local, | |||
92 | 98 | ||
93 | might_sleep(); | 99 | might_sleep(); |
94 | 100 | ||
101 | trace_drv_configure_arp_filter(local, vif_to_sdata(vif)); | ||
95 | if (local->ops->configure_arp_filter) | 102 | if (local->ops->configure_arp_filter) |
96 | ret = local->ops->configure_arp_filter(&local->hw, vif, | 103 | ret = local->ops->configure_arp_filter(&local->hw, vif, |
97 | ifa_list); | 104 | ifa_list); |
98 | 105 | trace_drv_return_int(local, ret); | |
99 | trace_drv_configure_arp_filter(local, vif_to_sdata(vif), ifa_list, ret); | ||
100 | return ret; | 106 | return ret; |
101 | } | 107 | } |
102 | 108 | ||
@@ -105,10 +111,12 @@ static inline u64 drv_prepare_multicast(struct ieee80211_local *local, | |||
105 | { | 111 | { |
106 | u64 ret = 0; | 112 | u64 ret = 0; |
107 | 113 | ||
114 | trace_drv_prepare_multicast(local, mc_list->count); | ||
115 | |||
108 | if (local->ops->prepare_multicast) | 116 | if (local->ops->prepare_multicast) |
109 | ret = local->ops->prepare_multicast(&local->hw, mc_list); | 117 | ret = local->ops->prepare_multicast(&local->hw, mc_list); |
110 | 118 | ||
111 | trace_drv_prepare_multicast(local, mc_list->count, ret); | 119 | trace_drv_return_u64(local, ret); |
112 | 120 | ||
113 | return ret; | 121 | return ret; |
114 | } | 122 | } |
@@ -120,19 +128,21 @@ static inline void drv_configure_filter(struct ieee80211_local *local, | |||
120 | { | 128 | { |
121 | might_sleep(); | 129 | might_sleep(); |
122 | 130 | ||
123 | local->ops->configure_filter(&local->hw, changed_flags, total_flags, | ||
124 | multicast); | ||
125 | trace_drv_configure_filter(local, changed_flags, total_flags, | 131 | trace_drv_configure_filter(local, changed_flags, total_flags, |
126 | multicast); | 132 | multicast); |
133 | local->ops->configure_filter(&local->hw, changed_flags, total_flags, | ||
134 | multicast); | ||
135 | trace_drv_return_void(local); | ||
127 | } | 136 | } |
128 | 137 | ||
129 | static inline int drv_set_tim(struct ieee80211_local *local, | 138 | static inline int drv_set_tim(struct ieee80211_local *local, |
130 | struct ieee80211_sta *sta, bool set) | 139 | struct ieee80211_sta *sta, bool set) |
131 | { | 140 | { |
132 | int ret = 0; | 141 | int ret = 0; |
142 | trace_drv_set_tim(local, sta, set); | ||
133 | if (local->ops->set_tim) | 143 | if (local->ops->set_tim) |
134 | ret = local->ops->set_tim(&local->hw, sta, set); | 144 | ret = local->ops->set_tim(&local->hw, sta, set); |
135 | trace_drv_set_tim(local, sta, set, ret); | 145 | trace_drv_return_int(local, ret); |
136 | return ret; | 146 | return ret; |
137 | } | 147 | } |
138 | 148 | ||
@@ -146,8 +156,9 @@ static inline int drv_set_key(struct ieee80211_local *local, | |||
146 | 156 | ||
147 | might_sleep(); | 157 | might_sleep(); |
148 | 158 | ||
159 | trace_drv_set_key(local, cmd, sdata, sta, key); | ||
149 | ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); | 160 | ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); |
150 | trace_drv_set_key(local, cmd, sdata, sta, key, ret); | 161 | trace_drv_return_int(local, ret); |
151 | return ret; | 162 | return ret; |
152 | } | 163 | } |
153 | 164 | ||
@@ -162,10 +173,11 @@ static inline void drv_update_tkip_key(struct ieee80211_local *local, | |||
162 | if (sta) | 173 | if (sta) |
163 | ista = &sta->sta; | 174 | ista = &sta->sta; |
164 | 175 | ||
176 | trace_drv_update_tkip_key(local, sdata, conf, ista, iv32); | ||
165 | if (local->ops->update_tkip_key) | 177 | if (local->ops->update_tkip_key) |
166 | local->ops->update_tkip_key(&local->hw, &sdata->vif, conf, | 178 | local->ops->update_tkip_key(&local->hw, &sdata->vif, conf, |
167 | ista, iv32, phase1key); | 179 | ista, iv32, phase1key); |
168 | trace_drv_update_tkip_key(local, sdata, conf, ista, iv32); | 180 | trace_drv_return_void(local); |
169 | } | 181 | } |
170 | 182 | ||
171 | static inline int drv_hw_scan(struct ieee80211_local *local, | 183 | static inline int drv_hw_scan(struct ieee80211_local *local, |
@@ -176,8 +188,9 @@ static inline int drv_hw_scan(struct ieee80211_local *local, | |||
176 | 188 | ||
177 | might_sleep(); | 189 | might_sleep(); |
178 | 190 | ||
191 | trace_drv_hw_scan(local, sdata, req); | ||
179 | ret = local->ops->hw_scan(&local->hw, &sdata->vif, req); | 192 | ret = local->ops->hw_scan(&local->hw, &sdata->vif, req); |
180 | trace_drv_hw_scan(local, sdata, req, ret); | 193 | trace_drv_return_int(local, ret); |
181 | return ret; | 194 | return ret; |
182 | } | 195 | } |
183 | 196 | ||
@@ -185,18 +198,20 @@ static inline void drv_sw_scan_start(struct ieee80211_local *local) | |||
185 | { | 198 | { |
186 | might_sleep(); | 199 | might_sleep(); |
187 | 200 | ||
201 | trace_drv_sw_scan_start(local); | ||
188 | if (local->ops->sw_scan_start) | 202 | if (local->ops->sw_scan_start) |
189 | local->ops->sw_scan_start(&local->hw); | 203 | local->ops->sw_scan_start(&local->hw); |
190 | trace_drv_sw_scan_start(local); | 204 | trace_drv_return_void(local); |
191 | } | 205 | } |
192 | 206 | ||
193 | static inline void drv_sw_scan_complete(struct ieee80211_local *local) | 207 | static inline void drv_sw_scan_complete(struct ieee80211_local *local) |
194 | { | 208 | { |
195 | might_sleep(); | 209 | might_sleep(); |
196 | 210 | ||
211 | trace_drv_sw_scan_complete(local); | ||
197 | if (local->ops->sw_scan_complete) | 212 | if (local->ops->sw_scan_complete) |
198 | local->ops->sw_scan_complete(&local->hw); | 213 | local->ops->sw_scan_complete(&local->hw); |
199 | trace_drv_sw_scan_complete(local); | 214 | trace_drv_return_void(local); |
200 | } | 215 | } |
201 | 216 | ||
202 | static inline int drv_get_stats(struct ieee80211_local *local, | 217 | static inline int drv_get_stats(struct ieee80211_local *local, |
@@ -228,9 +243,10 @@ static inline int drv_set_rts_threshold(struct ieee80211_local *local, | |||
228 | 243 | ||
229 | might_sleep(); | 244 | might_sleep(); |
230 | 245 | ||
246 | trace_drv_set_rts_threshold(local, value); | ||
231 | if (local->ops->set_rts_threshold) | 247 | if (local->ops->set_rts_threshold) |
232 | ret = local->ops->set_rts_threshold(&local->hw, value); | 248 | ret = local->ops->set_rts_threshold(&local->hw, value); |
233 | trace_drv_set_rts_threshold(local, value, ret); | 249 | trace_drv_return_int(local, ret); |
234 | return ret; | 250 | return ret; |
235 | } | 251 | } |
236 | 252 | ||
@@ -240,12 +256,13 @@ static inline int drv_set_coverage_class(struct ieee80211_local *local, | |||
240 | int ret = 0; | 256 | int ret = 0; |
241 | might_sleep(); | 257 | might_sleep(); |
242 | 258 | ||
259 | trace_drv_set_coverage_class(local, value); | ||
243 | if (local->ops->set_coverage_class) | 260 | if (local->ops->set_coverage_class) |
244 | local->ops->set_coverage_class(&local->hw, value); | 261 | local->ops->set_coverage_class(&local->hw, value); |
245 | else | 262 | else |
246 | ret = -EOPNOTSUPP; | 263 | ret = -EOPNOTSUPP; |
247 | 264 | ||
248 | trace_drv_set_coverage_class(local, value, ret); | 265 | trace_drv_return_int(local, ret); |
249 | return ret; | 266 | return ret; |
250 | } | 267 | } |
251 | 268 | ||
@@ -254,9 +271,10 @@ static inline void drv_sta_notify(struct ieee80211_local *local, | |||
254 | enum sta_notify_cmd cmd, | 271 | enum sta_notify_cmd cmd, |
255 | struct ieee80211_sta *sta) | 272 | struct ieee80211_sta *sta) |
256 | { | 273 | { |
274 | trace_drv_sta_notify(local, sdata, cmd, sta); | ||
257 | if (local->ops->sta_notify) | 275 | if (local->ops->sta_notify) |
258 | local->ops->sta_notify(&local->hw, &sdata->vif, cmd, sta); | 276 | local->ops->sta_notify(&local->hw, &sdata->vif, cmd, sta); |
259 | trace_drv_sta_notify(local, sdata, cmd, sta); | 277 | trace_drv_return_void(local); |
260 | } | 278 | } |
261 | 279 | ||
262 | static inline int drv_sta_add(struct ieee80211_local *local, | 280 | static inline int drv_sta_add(struct ieee80211_local *local, |
@@ -267,10 +285,11 @@ static inline int drv_sta_add(struct ieee80211_local *local, | |||
267 | 285 | ||
268 | might_sleep(); | 286 | might_sleep(); |
269 | 287 | ||
288 | trace_drv_sta_add(local, sdata, sta); | ||
270 | if (local->ops->sta_add) | 289 | if (local->ops->sta_add) |
271 | ret = local->ops->sta_add(&local->hw, &sdata->vif, sta); | 290 | ret = local->ops->sta_add(&local->hw, &sdata->vif, sta); |
272 | 291 | ||
273 | trace_drv_sta_add(local, sdata, sta, ret); | 292 | trace_drv_return_int(local, ret); |
274 | 293 | ||
275 | return ret; | 294 | return ret; |
276 | } | 295 | } |
@@ -281,10 +300,11 @@ static inline void drv_sta_remove(struct ieee80211_local *local, | |||
281 | { | 300 | { |
282 | might_sleep(); | 301 | might_sleep(); |
283 | 302 | ||
303 | trace_drv_sta_remove(local, sdata, sta); | ||
284 | if (local->ops->sta_remove) | 304 | if (local->ops->sta_remove) |
285 | local->ops->sta_remove(&local->hw, &sdata->vif, sta); | 305 | local->ops->sta_remove(&local->hw, &sdata->vif, sta); |
286 | 306 | ||
287 | trace_drv_sta_remove(local, sdata, sta); | 307 | trace_drv_return_void(local); |
288 | } | 308 | } |
289 | 309 | ||
290 | static inline int drv_conf_tx(struct ieee80211_local *local, u16 queue, | 310 | static inline int drv_conf_tx(struct ieee80211_local *local, u16 queue, |
@@ -294,9 +314,10 @@ static inline int drv_conf_tx(struct ieee80211_local *local, u16 queue, | |||
294 | 314 | ||
295 | might_sleep(); | 315 | might_sleep(); |
296 | 316 | ||
317 | trace_drv_conf_tx(local, queue, params); | ||
297 | if (local->ops->conf_tx) | 318 | if (local->ops->conf_tx) |
298 | ret = local->ops->conf_tx(&local->hw, queue, params); | 319 | ret = local->ops->conf_tx(&local->hw, queue, params); |
299 | trace_drv_conf_tx(local, queue, params, ret); | 320 | trace_drv_return_int(local, ret); |
300 | return ret; | 321 | return ret; |
301 | } | 322 | } |
302 | 323 | ||
@@ -306,9 +327,10 @@ static inline u64 drv_get_tsf(struct ieee80211_local *local) | |||
306 | 327 | ||
307 | might_sleep(); | 328 | might_sleep(); |
308 | 329 | ||
330 | trace_drv_get_tsf(local); | ||
309 | if (local->ops->get_tsf) | 331 | if (local->ops->get_tsf) |
310 | ret = local->ops->get_tsf(&local->hw); | 332 | ret = local->ops->get_tsf(&local->hw); |
311 | trace_drv_get_tsf(local, ret); | 333 | trace_drv_return_u64(local, ret); |
312 | return ret; | 334 | return ret; |
313 | } | 335 | } |
314 | 336 | ||
@@ -316,18 +338,20 @@ static inline void drv_set_tsf(struct ieee80211_local *local, u64 tsf) | |||
316 | { | 338 | { |
317 | might_sleep(); | 339 | might_sleep(); |
318 | 340 | ||
341 | trace_drv_set_tsf(local, tsf); | ||
319 | if (local->ops->set_tsf) | 342 | if (local->ops->set_tsf) |
320 | local->ops->set_tsf(&local->hw, tsf); | 343 | local->ops->set_tsf(&local->hw, tsf); |
321 | trace_drv_set_tsf(local, tsf); | 344 | trace_drv_return_void(local); |
322 | } | 345 | } |
323 | 346 | ||
324 | static inline void drv_reset_tsf(struct ieee80211_local *local) | 347 | static inline void drv_reset_tsf(struct ieee80211_local *local) |
325 | { | 348 | { |
326 | might_sleep(); | 349 | might_sleep(); |
327 | 350 | ||
351 | trace_drv_reset_tsf(local); | ||
328 | if (local->ops->reset_tsf) | 352 | if (local->ops->reset_tsf) |
329 | local->ops->reset_tsf(&local->hw); | 353 | local->ops->reset_tsf(&local->hw); |
330 | trace_drv_reset_tsf(local); | 354 | trace_drv_return_void(local); |
331 | } | 355 | } |
332 | 356 | ||
333 | static inline int drv_tx_last_beacon(struct ieee80211_local *local) | 357 | static inline int drv_tx_last_beacon(struct ieee80211_local *local) |
@@ -336,9 +360,10 @@ static inline int drv_tx_last_beacon(struct ieee80211_local *local) | |||
336 | 360 | ||
337 | might_sleep(); | 361 | might_sleep(); |
338 | 362 | ||
363 | trace_drv_tx_last_beacon(local); | ||
339 | if (local->ops->tx_last_beacon) | 364 | if (local->ops->tx_last_beacon) |
340 | ret = local->ops->tx_last_beacon(&local->hw); | 365 | ret = local->ops->tx_last_beacon(&local->hw); |
341 | trace_drv_tx_last_beacon(local, ret); | 366 | trace_drv_return_int(local, ret); |
342 | return ret; | 367 | return ret; |
343 | } | 368 | } |
344 | 369 | ||
@@ -352,11 +377,14 @@ static inline int drv_ampdu_action(struct ieee80211_local *local, | |||
352 | 377 | ||
353 | might_sleep(); | 378 | might_sleep(); |
354 | 379 | ||
380 | trace_drv_ampdu_action(local, sdata, action, sta, tid, ssn); | ||
381 | |||
355 | if (local->ops->ampdu_action) | 382 | if (local->ops->ampdu_action) |
356 | ret = local->ops->ampdu_action(&local->hw, &sdata->vif, action, | 383 | ret = local->ops->ampdu_action(&local->hw, &sdata->vif, action, |
357 | sta, tid, ssn); | 384 | sta, tid, ssn); |
358 | 385 | ||
359 | trace_drv_ampdu_action(local, sdata, action, sta, tid, ssn, ret); | 386 | trace_drv_return_int(local, ret); |
387 | |||
360 | return ret; | 388 | return ret; |
361 | } | 389 | } |
362 | 390 | ||
@@ -385,6 +413,7 @@ static inline void drv_flush(struct ieee80211_local *local, bool drop) | |||
385 | trace_drv_flush(local, drop); | 413 | trace_drv_flush(local, drop); |
386 | if (local->ops->flush) | 414 | if (local->ops->flush) |
387 | local->ops->flush(&local->hw, drop); | 415 | local->ops->flush(&local->hw, drop); |
416 | trace_drv_return_void(local); | ||
388 | } | 417 | } |
389 | 418 | ||
390 | static inline void drv_channel_switch(struct ieee80211_local *local, | 419 | static inline void drv_channel_switch(struct ieee80211_local *local, |
@@ -392,9 +421,9 @@ static inline void drv_channel_switch(struct ieee80211_local *local, | |||
392 | { | 421 | { |
393 | might_sleep(); | 422 | might_sleep(); |
394 | 423 | ||
395 | local->ops->channel_switch(&local->hw, ch_switch); | ||
396 | |||
397 | trace_drv_channel_switch(local, ch_switch); | 424 | trace_drv_channel_switch(local, ch_switch); |
425 | local->ops->channel_switch(&local->hw, ch_switch); | ||
426 | trace_drv_return_void(local); | ||
398 | } | 427 | } |
399 | 428 | ||
400 | #endif /* __MAC80211_DRIVER_OPS */ | 429 | #endif /* __MAC80211_DRIVER_OPS */ |
diff --git a/net/mac80211/driver-trace.h b/net/mac80211/driver-trace.h index 6b90630151ab..06444ea67bc4 100644 --- a/net/mac80211/driver-trace.h +++ b/net/mac80211/driver-trace.h | |||
@@ -36,20 +36,58 @@ static inline void trace_ ## name(proto) {} | |||
36 | * Tracing for driver callbacks. | 36 | * Tracing for driver callbacks. |
37 | */ | 37 | */ |
38 | 38 | ||
39 | TRACE_EVENT(drv_start, | 39 | TRACE_EVENT(drv_return_void, |
40 | TP_PROTO(struct ieee80211_local *local, int ret), | 40 | TP_PROTO(struct ieee80211_local *local), |
41 | TP_ARGS(local), | ||
42 | TP_STRUCT__entry( | ||
43 | LOCAL_ENTRY | ||
44 | ), | ||
45 | TP_fast_assign( | ||
46 | LOCAL_ASSIGN; | ||
47 | ), | ||
48 | TP_printk(LOCAL_PR_FMT, LOCAL_PR_ARG) | ||
49 | ); | ||
41 | 50 | ||
51 | TRACE_EVENT(drv_return_int, | ||
52 | TP_PROTO(struct ieee80211_local *local, int ret), | ||
42 | TP_ARGS(local, ret), | 53 | TP_ARGS(local, ret), |
43 | |||
44 | TP_STRUCT__entry( | 54 | TP_STRUCT__entry( |
45 | LOCAL_ENTRY | 55 | LOCAL_ENTRY |
46 | __field(int, ret) | 56 | __field(int, ret) |
47 | ), | 57 | ), |
58 | TP_fast_assign( | ||
59 | LOCAL_ASSIGN; | ||
60 | __entry->ret = ret; | ||
61 | ), | ||
62 | TP_printk(LOCAL_PR_FMT " - %d", LOCAL_PR_ARG, __entry->ret) | ||
63 | ); | ||
48 | 64 | ||
65 | TRACE_EVENT(drv_return_u64, | ||
66 | TP_PROTO(struct ieee80211_local *local, u64 ret), | ||
67 | TP_ARGS(local, ret), | ||
68 | TP_STRUCT__entry( | ||
69 | LOCAL_ENTRY | ||
70 | __field(u64, ret) | ||
71 | ), | ||
49 | TP_fast_assign( | 72 | TP_fast_assign( |
50 | LOCAL_ASSIGN; | 73 | LOCAL_ASSIGN; |
51 | __entry->ret = ret; | 74 | __entry->ret = ret; |
52 | ), | 75 | ), |
76 | TP_printk(LOCAL_PR_FMT " - %llu", LOCAL_PR_ARG, __entry->ret) | ||
77 | ); | ||
78 | |||
79 | TRACE_EVENT(drv_start, | ||
80 | TP_PROTO(struct ieee80211_local *local), | ||
81 | |||
82 | TP_ARGS(local), | ||
83 | |||
84 | TP_STRUCT__entry( | ||
85 | LOCAL_ENTRY | ||
86 | ), | ||
87 | |||
88 | TP_fast_assign( | ||
89 | LOCAL_ASSIGN; | ||
90 | ), | ||
53 | 91 | ||
54 | TP_printk( | 92 | TP_printk( |
55 | LOCAL_PR_FMT, LOCAL_PR_ARG | 93 | LOCAL_PR_FMT, LOCAL_PR_ARG |
@@ -76,28 +114,25 @@ TRACE_EVENT(drv_stop, | |||
76 | 114 | ||
77 | TRACE_EVENT(drv_add_interface, | 115 | TRACE_EVENT(drv_add_interface, |
78 | TP_PROTO(struct ieee80211_local *local, | 116 | TP_PROTO(struct ieee80211_local *local, |
79 | struct ieee80211_sub_if_data *sdata, | 117 | struct ieee80211_sub_if_data *sdata), |
80 | int ret), | ||
81 | 118 | ||
82 | TP_ARGS(local, sdata, ret), | 119 | TP_ARGS(local, sdata), |
83 | 120 | ||
84 | TP_STRUCT__entry( | 121 | TP_STRUCT__entry( |
85 | LOCAL_ENTRY | 122 | LOCAL_ENTRY |
86 | VIF_ENTRY | 123 | VIF_ENTRY |
87 | __array(char, addr, 6) | 124 | __array(char, addr, 6) |
88 | __field(int, ret) | ||
89 | ), | 125 | ), |
90 | 126 | ||
91 | TP_fast_assign( | 127 | TP_fast_assign( |
92 | LOCAL_ASSIGN; | 128 | LOCAL_ASSIGN; |
93 | VIF_ASSIGN; | 129 | VIF_ASSIGN; |
94 | memcpy(__entry->addr, sdata->vif.addr, 6); | 130 | memcpy(__entry->addr, sdata->vif.addr, 6); |
95 | __entry->ret = ret; | ||
96 | ), | 131 | ), |
97 | 132 | ||
98 | TP_printk( | 133 | TP_printk( |
99 | LOCAL_PR_FMT VIF_PR_FMT " addr:%pM ret:%d", | 134 | LOCAL_PR_FMT VIF_PR_FMT " addr:%pM", |
100 | LOCAL_PR_ARG, VIF_PR_ARG, __entry->addr, __entry->ret | 135 | LOCAL_PR_ARG, VIF_PR_ARG, __entry->addr |
101 | ) | 136 | ) |
102 | ); | 137 | ); |
103 | 138 | ||
@@ -126,15 +161,13 @@ TRACE_EVENT(drv_remove_interface, | |||
126 | 161 | ||
127 | TRACE_EVENT(drv_config, | 162 | TRACE_EVENT(drv_config, |
128 | TP_PROTO(struct ieee80211_local *local, | 163 | TP_PROTO(struct ieee80211_local *local, |
129 | u32 changed, | 164 | u32 changed), |
130 | int ret), | ||
131 | 165 | ||
132 | TP_ARGS(local, changed, ret), | 166 | TP_ARGS(local, changed), |
133 | 167 | ||
134 | TP_STRUCT__entry( | 168 | TP_STRUCT__entry( |
135 | LOCAL_ENTRY | 169 | LOCAL_ENTRY |
136 | __field(u32, changed) | 170 | __field(u32, changed) |
137 | __field(int, ret) | ||
138 | __field(u32, flags) | 171 | __field(u32, flags) |
139 | __field(int, power_level) | 172 | __field(int, power_level) |
140 | __field(int, dynamic_ps_timeout) | 173 | __field(int, dynamic_ps_timeout) |
@@ -150,7 +183,6 @@ TRACE_EVENT(drv_config, | |||
150 | TP_fast_assign( | 183 | TP_fast_assign( |
151 | LOCAL_ASSIGN; | 184 | LOCAL_ASSIGN; |
152 | __entry->changed = changed; | 185 | __entry->changed = changed; |
153 | __entry->ret = ret; | ||
154 | __entry->flags = local->hw.conf.flags; | 186 | __entry->flags = local->hw.conf.flags; |
155 | __entry->power_level = local->hw.conf.power_level; | 187 | __entry->power_level = local->hw.conf.power_level; |
156 | __entry->dynamic_ps_timeout = local->hw.conf.dynamic_ps_timeout; | 188 | __entry->dynamic_ps_timeout = local->hw.conf.dynamic_ps_timeout; |
@@ -164,8 +196,8 @@ TRACE_EVENT(drv_config, | |||
164 | ), | 196 | ), |
165 | 197 | ||
166 | TP_printk( | 198 | TP_printk( |
167 | LOCAL_PR_FMT " ch:%#x freq:%d ret:%d", | 199 | LOCAL_PR_FMT " ch:%#x freq:%d", |
168 | LOCAL_PR_ARG, __entry->changed, __entry->center_freq, __entry->ret | 200 | LOCAL_PR_ARG, __entry->changed, __entry->center_freq |
169 | ) | 201 | ) |
170 | ); | 202 | ); |
171 | 203 | ||
@@ -221,50 +253,44 @@ TRACE_EVENT(drv_bss_info_changed, | |||
221 | 253 | ||
222 | TRACE_EVENT(drv_configure_arp_filter, | 254 | TRACE_EVENT(drv_configure_arp_filter, |
223 | TP_PROTO(struct ieee80211_local *local, | 255 | TP_PROTO(struct ieee80211_local *local, |
224 | struct ieee80211_sub_if_data *sdata, | 256 | struct ieee80211_sub_if_data *sdata), |
225 | struct in_ifaddr *ifa_list, int ret), | ||
226 | 257 | ||
227 | TP_ARGS(local, sdata, ifa_list, ret), | 258 | TP_ARGS(local, sdata), |
228 | 259 | ||
229 | TP_STRUCT__entry( | 260 | TP_STRUCT__entry( |
230 | LOCAL_ENTRY | 261 | LOCAL_ENTRY |
231 | VIF_ENTRY | 262 | VIF_ENTRY |
232 | __field(int, ret) | ||
233 | ), | 263 | ), |
234 | 264 | ||
235 | TP_fast_assign( | 265 | TP_fast_assign( |
236 | LOCAL_ASSIGN; | 266 | LOCAL_ASSIGN; |
237 | VIF_ASSIGN; | 267 | VIF_ASSIGN; |
238 | __entry->ret = ret; | ||
239 | ), | 268 | ), |
240 | 269 | ||
241 | TP_printk( | 270 | TP_printk( |
242 | VIF_PR_FMT LOCAL_PR_FMT " ret:%d", | 271 | VIF_PR_FMT LOCAL_PR_FMT, |
243 | VIF_PR_ARG, LOCAL_PR_ARG, __entry->ret | 272 | VIF_PR_ARG, LOCAL_PR_ARG |
244 | ) | 273 | ) |
245 | ); | 274 | ); |
246 | 275 | ||
247 | TRACE_EVENT(drv_prepare_multicast, | 276 | TRACE_EVENT(drv_prepare_multicast, |
248 | TP_PROTO(struct ieee80211_local *local, int mc_count, u64 ret), | 277 | TP_PROTO(struct ieee80211_local *local, int mc_count), |
249 | 278 | ||
250 | TP_ARGS(local, mc_count, ret), | 279 | TP_ARGS(local, mc_count), |
251 | 280 | ||
252 | TP_STRUCT__entry( | 281 | TP_STRUCT__entry( |
253 | LOCAL_ENTRY | 282 | LOCAL_ENTRY |
254 | __field(int, mc_count) | 283 | __field(int, mc_count) |
255 | __field(u64, ret) | ||
256 | ), | 284 | ), |
257 | 285 | ||
258 | TP_fast_assign( | 286 | TP_fast_assign( |
259 | LOCAL_ASSIGN; | 287 | LOCAL_ASSIGN; |
260 | __entry->mc_count = mc_count; | 288 | __entry->mc_count = mc_count; |
261 | __entry->ret = ret; | ||
262 | ), | 289 | ), |
263 | 290 | ||
264 | TP_printk( | 291 | TP_printk( |
265 | LOCAL_PR_FMT " prepare mc (%d): %llx", | 292 | LOCAL_PR_FMT " prepare mc (%d)", |
266 | LOCAL_PR_ARG, __entry->mc_count, | 293 | LOCAL_PR_ARG, __entry->mc_count |
267 | (unsigned long long) __entry->ret | ||
268 | ) | 294 | ) |
269 | ); | 295 | ); |
270 | 296 | ||
@@ -298,27 +324,25 @@ TRACE_EVENT(drv_configure_filter, | |||
298 | 324 | ||
299 | TRACE_EVENT(drv_set_tim, | 325 | TRACE_EVENT(drv_set_tim, |
300 | TP_PROTO(struct ieee80211_local *local, | 326 | TP_PROTO(struct ieee80211_local *local, |
301 | struct ieee80211_sta *sta, bool set, int ret), | 327 | struct ieee80211_sta *sta, bool set), |
302 | 328 | ||
303 | TP_ARGS(local, sta, set, ret), | 329 | TP_ARGS(local, sta, set), |
304 | 330 | ||
305 | TP_STRUCT__entry( | 331 | TP_STRUCT__entry( |
306 | LOCAL_ENTRY | 332 | LOCAL_ENTRY |
307 | STA_ENTRY | 333 | STA_ENTRY |
308 | __field(bool, set) | 334 | __field(bool, set) |
309 | __field(int, ret) | ||
310 | ), | 335 | ), |
311 | 336 | ||
312 | TP_fast_assign( | 337 | TP_fast_assign( |
313 | LOCAL_ASSIGN; | 338 | LOCAL_ASSIGN; |
314 | STA_ASSIGN; | 339 | STA_ASSIGN; |
315 | __entry->set = set; | 340 | __entry->set = set; |
316 | __entry->ret = ret; | ||
317 | ), | 341 | ), |
318 | 342 | ||
319 | TP_printk( | 343 | TP_printk( |
320 | LOCAL_PR_FMT STA_PR_FMT " set:%d ret:%d", | 344 | LOCAL_PR_FMT STA_PR_FMT " set:%d", |
321 | LOCAL_PR_ARG, STA_PR_FMT, __entry->set, __entry->ret | 345 | LOCAL_PR_ARG, STA_PR_FMT, __entry->set |
322 | ) | 346 | ) |
323 | ); | 347 | ); |
324 | 348 | ||
@@ -326,9 +350,9 @@ TRACE_EVENT(drv_set_key, | |||
326 | TP_PROTO(struct ieee80211_local *local, | 350 | TP_PROTO(struct ieee80211_local *local, |
327 | enum set_key_cmd cmd, struct ieee80211_sub_if_data *sdata, | 351 | enum set_key_cmd cmd, struct ieee80211_sub_if_data *sdata, |
328 | struct ieee80211_sta *sta, | 352 | struct ieee80211_sta *sta, |
329 | struct ieee80211_key_conf *key, int ret), | 353 | struct ieee80211_key_conf *key), |
330 | 354 | ||
331 | TP_ARGS(local, cmd, sdata, sta, key, ret), | 355 | TP_ARGS(local, cmd, sdata, sta, key), |
332 | 356 | ||
333 | TP_STRUCT__entry( | 357 | TP_STRUCT__entry( |
334 | LOCAL_ENTRY | 358 | LOCAL_ENTRY |
@@ -338,7 +362,6 @@ TRACE_EVENT(drv_set_key, | |||
338 | __field(u8, hw_key_idx) | 362 | __field(u8, hw_key_idx) |
339 | __field(u8, flags) | 363 | __field(u8, flags) |
340 | __field(s8, keyidx) | 364 | __field(s8, keyidx) |
341 | __field(int, ret) | ||
342 | ), | 365 | ), |
343 | 366 | ||
344 | TP_fast_assign( | 367 | TP_fast_assign( |
@@ -349,12 +372,11 @@ TRACE_EVENT(drv_set_key, | |||
349 | __entry->flags = key->flags; | 372 | __entry->flags = key->flags; |
350 | __entry->keyidx = key->keyidx; | 373 | __entry->keyidx = key->keyidx; |
351 | __entry->hw_key_idx = key->hw_key_idx; | 374 | __entry->hw_key_idx = key->hw_key_idx; |
352 | __entry->ret = ret; | ||
353 | ), | 375 | ), |
354 | 376 | ||
355 | TP_printk( | 377 | TP_printk( |
356 | LOCAL_PR_FMT VIF_PR_FMT STA_PR_FMT " ret:%d", | 378 | LOCAL_PR_FMT VIF_PR_FMT STA_PR_FMT, |
357 | LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, __entry->ret | 379 | LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG |
358 | ) | 380 | ) |
359 | ); | 381 | ); |
360 | 382 | ||
@@ -389,25 +411,23 @@ TRACE_EVENT(drv_update_tkip_key, | |||
389 | TRACE_EVENT(drv_hw_scan, | 411 | TRACE_EVENT(drv_hw_scan, |
390 | TP_PROTO(struct ieee80211_local *local, | 412 | TP_PROTO(struct ieee80211_local *local, |
391 | struct ieee80211_sub_if_data *sdata, | 413 | struct ieee80211_sub_if_data *sdata, |
392 | struct cfg80211_scan_request *req, int ret), | 414 | struct cfg80211_scan_request *req), |
393 | 415 | ||
394 | TP_ARGS(local, sdata, req, ret), | 416 | TP_ARGS(local, sdata, req), |
395 | 417 | ||
396 | TP_STRUCT__entry( | 418 | TP_STRUCT__entry( |
397 | LOCAL_ENTRY | 419 | LOCAL_ENTRY |
398 | VIF_ENTRY | 420 | VIF_ENTRY |
399 | __field(int, ret) | ||
400 | ), | 421 | ), |
401 | 422 | ||
402 | TP_fast_assign( | 423 | TP_fast_assign( |
403 | LOCAL_ASSIGN; | 424 | LOCAL_ASSIGN; |
404 | VIF_ASSIGN; | 425 | VIF_ASSIGN; |
405 | __entry->ret = ret; | ||
406 | ), | 426 | ), |
407 | 427 | ||
408 | TP_printk( | 428 | TP_printk( |
409 | LOCAL_PR_FMT VIF_PR_FMT " ret:%d", | 429 | LOCAL_PR_FMT VIF_PR_FMT, |
410 | LOCAL_PR_ARG,VIF_PR_ARG, __entry->ret | 430 | LOCAL_PR_ARG,VIF_PR_ARG |
411 | ) | 431 | ) |
412 | ); | 432 | ); |
413 | 433 | ||
@@ -504,48 +524,44 @@ TRACE_EVENT(drv_get_tkip_seq, | |||
504 | ); | 524 | ); |
505 | 525 | ||
506 | TRACE_EVENT(drv_set_rts_threshold, | 526 | TRACE_EVENT(drv_set_rts_threshold, |
507 | TP_PROTO(struct ieee80211_local *local, u32 value, int ret), | 527 | TP_PROTO(struct ieee80211_local *local, u32 value), |
508 | 528 | ||
509 | TP_ARGS(local, value, ret), | 529 | TP_ARGS(local, value), |
510 | 530 | ||
511 | TP_STRUCT__entry( | 531 | TP_STRUCT__entry( |
512 | LOCAL_ENTRY | 532 | LOCAL_ENTRY |
513 | __field(u32, value) | 533 | __field(u32, value) |
514 | __field(int, ret) | ||
515 | ), | 534 | ), |
516 | 535 | ||
517 | TP_fast_assign( | 536 | TP_fast_assign( |
518 | LOCAL_ASSIGN; | 537 | LOCAL_ASSIGN; |
519 | __entry->ret = ret; | ||
520 | __entry->value = value; | 538 | __entry->value = value; |
521 | ), | 539 | ), |
522 | 540 | ||
523 | TP_printk( | 541 | TP_printk( |
524 | LOCAL_PR_FMT " value:%d ret:%d", | 542 | LOCAL_PR_FMT " value:%d", |
525 | LOCAL_PR_ARG, __entry->value, __entry->ret | 543 | LOCAL_PR_ARG, __entry->value |
526 | ) | 544 | ) |
527 | ); | 545 | ); |
528 | 546 | ||
529 | TRACE_EVENT(drv_set_coverage_class, | 547 | TRACE_EVENT(drv_set_coverage_class, |
530 | TP_PROTO(struct ieee80211_local *local, u8 value, int ret), | 548 | TP_PROTO(struct ieee80211_local *local, u8 value), |
531 | 549 | ||
532 | TP_ARGS(local, value, ret), | 550 | TP_ARGS(local, value), |
533 | 551 | ||
534 | TP_STRUCT__entry( | 552 | TP_STRUCT__entry( |
535 | LOCAL_ENTRY | 553 | LOCAL_ENTRY |
536 | __field(u8, value) | 554 | __field(u8, value) |
537 | __field(int, ret) | ||
538 | ), | 555 | ), |
539 | 556 | ||
540 | TP_fast_assign( | 557 | TP_fast_assign( |
541 | LOCAL_ASSIGN; | 558 | LOCAL_ASSIGN; |
542 | __entry->ret = ret; | ||
543 | __entry->value = value; | 559 | __entry->value = value; |
544 | ), | 560 | ), |
545 | 561 | ||
546 | TP_printk( | 562 | TP_printk( |
547 | LOCAL_PR_FMT " value:%d ret:%d", | 563 | LOCAL_PR_FMT " value:%d", |
548 | LOCAL_PR_ARG, __entry->value, __entry->ret | 564 | LOCAL_PR_ARG, __entry->value |
549 | ) | 565 | ) |
550 | ); | 566 | ); |
551 | 567 | ||
@@ -580,27 +596,25 @@ TRACE_EVENT(drv_sta_notify, | |||
580 | TRACE_EVENT(drv_sta_add, | 596 | TRACE_EVENT(drv_sta_add, |
581 | TP_PROTO(struct ieee80211_local *local, | 597 | TP_PROTO(struct ieee80211_local *local, |
582 | struct ieee80211_sub_if_data *sdata, | 598 | struct ieee80211_sub_if_data *sdata, |
583 | struct ieee80211_sta *sta, int ret), | 599 | struct ieee80211_sta *sta), |
584 | 600 | ||
585 | TP_ARGS(local, sdata, sta, ret), | 601 | TP_ARGS(local, sdata, sta), |
586 | 602 | ||
587 | TP_STRUCT__entry( | 603 | TP_STRUCT__entry( |
588 | LOCAL_ENTRY | 604 | LOCAL_ENTRY |
589 | VIF_ENTRY | 605 | VIF_ENTRY |
590 | STA_ENTRY | 606 | STA_ENTRY |
591 | __field(int, ret) | ||
592 | ), | 607 | ), |
593 | 608 | ||
594 | TP_fast_assign( | 609 | TP_fast_assign( |
595 | LOCAL_ASSIGN; | 610 | LOCAL_ASSIGN; |
596 | VIF_ASSIGN; | 611 | VIF_ASSIGN; |
597 | STA_ASSIGN; | 612 | STA_ASSIGN; |
598 | __entry->ret = ret; | ||
599 | ), | 613 | ), |
600 | 614 | ||
601 | TP_printk( | 615 | TP_printk( |
602 | LOCAL_PR_FMT VIF_PR_FMT STA_PR_FMT " ret:%d", | 616 | LOCAL_PR_FMT VIF_PR_FMT STA_PR_FMT, |
603 | LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, __entry->ret | 617 | LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG |
604 | ) | 618 | ) |
605 | ); | 619 | ); |
606 | 620 | ||
@@ -631,10 +645,9 @@ TRACE_EVENT(drv_sta_remove, | |||
631 | 645 | ||
632 | TRACE_EVENT(drv_conf_tx, | 646 | TRACE_EVENT(drv_conf_tx, |
633 | TP_PROTO(struct ieee80211_local *local, u16 queue, | 647 | TP_PROTO(struct ieee80211_local *local, u16 queue, |
634 | const struct ieee80211_tx_queue_params *params, | 648 | const struct ieee80211_tx_queue_params *params), |
635 | int ret), | ||
636 | 649 | ||
637 | TP_ARGS(local, queue, params, ret), | 650 | TP_ARGS(local, queue, params), |
638 | 651 | ||
639 | TP_STRUCT__entry( | 652 | TP_STRUCT__entry( |
640 | LOCAL_ENTRY | 653 | LOCAL_ENTRY |
@@ -643,13 +656,11 @@ TRACE_EVENT(drv_conf_tx, | |||
643 | __field(u16, cw_min) | 656 | __field(u16, cw_min) |
644 | __field(u16, cw_max) | 657 | __field(u16, cw_max) |
645 | __field(u8, aifs) | 658 | __field(u8, aifs) |
646 | __field(int, ret) | ||
647 | ), | 659 | ), |
648 | 660 | ||
649 | TP_fast_assign( | 661 | TP_fast_assign( |
650 | LOCAL_ASSIGN; | 662 | LOCAL_ASSIGN; |
651 | __entry->queue = queue; | 663 | __entry->queue = queue; |
652 | __entry->ret = ret; | ||
653 | __entry->txop = params->txop; | 664 | __entry->txop = params->txop; |
654 | __entry->cw_max = params->cw_max; | 665 | __entry->cw_max = params->cw_max; |
655 | __entry->cw_min = params->cw_min; | 666 | __entry->cw_min = params->cw_min; |
@@ -657,29 +668,27 @@ TRACE_EVENT(drv_conf_tx, | |||
657 | ), | 668 | ), |
658 | 669 | ||
659 | TP_printk( | 670 | TP_printk( |
660 | LOCAL_PR_FMT " queue:%d ret:%d", | 671 | LOCAL_PR_FMT " queue:%d", |
661 | LOCAL_PR_ARG, __entry->queue, __entry->ret | 672 | LOCAL_PR_ARG, __entry->queue |
662 | ) | 673 | ) |
663 | ); | 674 | ); |
664 | 675 | ||
665 | TRACE_EVENT(drv_get_tsf, | 676 | TRACE_EVENT(drv_get_tsf, |
666 | TP_PROTO(struct ieee80211_local *local, u64 ret), | 677 | TP_PROTO(struct ieee80211_local *local), |
667 | 678 | ||
668 | TP_ARGS(local, ret), | 679 | TP_ARGS(local), |
669 | 680 | ||
670 | TP_STRUCT__entry( | 681 | TP_STRUCT__entry( |
671 | LOCAL_ENTRY | 682 | LOCAL_ENTRY |
672 | __field(u64, ret) | ||
673 | ), | 683 | ), |
674 | 684 | ||
675 | TP_fast_assign( | 685 | TP_fast_assign( |
676 | LOCAL_ASSIGN; | 686 | LOCAL_ASSIGN; |
677 | __entry->ret = ret; | ||
678 | ), | 687 | ), |
679 | 688 | ||
680 | TP_printk( | 689 | TP_printk( |
681 | LOCAL_PR_FMT " ret:%llu", | 690 | LOCAL_PR_FMT, |
682 | LOCAL_PR_ARG, (unsigned long long)__entry->ret | 691 | LOCAL_PR_ARG |
683 | ) | 692 | ) |
684 | ); | 693 | ); |
685 | 694 | ||
@@ -723,23 +732,21 @@ TRACE_EVENT(drv_reset_tsf, | |||
723 | ); | 732 | ); |
724 | 733 | ||
725 | TRACE_EVENT(drv_tx_last_beacon, | 734 | TRACE_EVENT(drv_tx_last_beacon, |
726 | TP_PROTO(struct ieee80211_local *local, int ret), | 735 | TP_PROTO(struct ieee80211_local *local), |
727 | 736 | ||
728 | TP_ARGS(local, ret), | 737 | TP_ARGS(local), |
729 | 738 | ||
730 | TP_STRUCT__entry( | 739 | TP_STRUCT__entry( |
731 | LOCAL_ENTRY | 740 | LOCAL_ENTRY |
732 | __field(int, ret) | ||
733 | ), | 741 | ), |
734 | 742 | ||
735 | TP_fast_assign( | 743 | TP_fast_assign( |
736 | LOCAL_ASSIGN; | 744 | LOCAL_ASSIGN; |
737 | __entry->ret = ret; | ||
738 | ), | 745 | ), |
739 | 746 | ||
740 | TP_printk( | 747 | TP_printk( |
741 | LOCAL_PR_FMT " ret:%d", | 748 | LOCAL_PR_FMT, |
742 | LOCAL_PR_ARG, __entry->ret | 749 | LOCAL_PR_ARG |
743 | ) | 750 | ) |
744 | ); | 751 | ); |
745 | 752 | ||
@@ -748,9 +755,9 @@ TRACE_EVENT(drv_ampdu_action, | |||
748 | struct ieee80211_sub_if_data *sdata, | 755 | struct ieee80211_sub_if_data *sdata, |
749 | enum ieee80211_ampdu_mlme_action action, | 756 | enum ieee80211_ampdu_mlme_action action, |
750 | struct ieee80211_sta *sta, u16 tid, | 757 | struct ieee80211_sta *sta, u16 tid, |
751 | u16 *ssn, int ret), | 758 | u16 *ssn), |
752 | 759 | ||
753 | TP_ARGS(local, sdata, action, sta, tid, ssn, ret), | 760 | TP_ARGS(local, sdata, action, sta, tid, ssn), |
754 | 761 | ||
755 | TP_STRUCT__entry( | 762 | TP_STRUCT__entry( |
756 | LOCAL_ENTRY | 763 | LOCAL_ENTRY |
@@ -758,7 +765,6 @@ TRACE_EVENT(drv_ampdu_action, | |||
758 | __field(u32, action) | 765 | __field(u32, action) |
759 | __field(u16, tid) | 766 | __field(u16, tid) |
760 | __field(u16, ssn) | 767 | __field(u16, ssn) |
761 | __field(int, ret) | ||
762 | VIF_ENTRY | 768 | VIF_ENTRY |
763 | ), | 769 | ), |
764 | 770 | ||
@@ -766,15 +772,14 @@ TRACE_EVENT(drv_ampdu_action, | |||
766 | LOCAL_ASSIGN; | 772 | LOCAL_ASSIGN; |
767 | VIF_ASSIGN; | 773 | VIF_ASSIGN; |
768 | STA_ASSIGN; | 774 | STA_ASSIGN; |
769 | __entry->ret = ret; | ||
770 | __entry->action = action; | 775 | __entry->action = action; |
771 | __entry->tid = tid; | 776 | __entry->tid = tid; |
772 | __entry->ssn = ssn ? *ssn : 0; | 777 | __entry->ssn = ssn ? *ssn : 0; |
773 | ), | 778 | ), |
774 | 779 | ||
775 | TP_printk( | 780 | TP_printk( |
776 | LOCAL_PR_FMT VIF_PR_FMT STA_PR_FMT " action:%d tid:%d ret:%d", | 781 | LOCAL_PR_FMT VIF_PR_FMT STA_PR_FMT " action:%d tid:%d", |
777 | LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, __entry->action, __entry->tid, __entry->ret | 782 | LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, __entry->action, __entry->tid |
778 | ) | 783 | ) |
779 | ); | 784 | ); |
780 | 785 | ||