.. | .. |
---|
1 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|
2 | 2 | /* |
---|
3 | 3 | * Portions of this file |
---|
4 | | -* Copyright(c) 2016 Intel Deutschland GmbH |
---|
5 | | -* Copyright (C) 2018 Intel Corporation |
---|
| 4 | +* Copyright(c) 2016-2017 Intel Deutschland GmbH |
---|
| 5 | +* Copyright (C) 2018 - 2019 Intel Corporation |
---|
6 | 6 | */ |
---|
7 | 7 | |
---|
8 | 8 | #if !defined(__MAC80211_DRIVER_TRACE) || defined(TRACE_HEADER_MULTI_READ) |
---|
.. | .. |
---|
22 | 22 | #define LOCAL_PR_ARG __entry->wiphy_name |
---|
23 | 23 | |
---|
24 | 24 | #define STA_ENTRY __array(char, sta_addr, ETH_ALEN) |
---|
25 | | -#define STA_ASSIGN (sta ? memcpy(__entry->sta_addr, sta->addr, ETH_ALEN) : memset(__entry->sta_addr, 0, ETH_ALEN)) |
---|
| 25 | +#define STA_ASSIGN (sta ? memcpy(__entry->sta_addr, sta->addr, ETH_ALEN) : \ |
---|
| 26 | + eth_zero_addr(__entry->sta_addr)) |
---|
26 | 27 | #define STA_NAMED_ASSIGN(s) memcpy(__entry->sta_addr, (s)->addr, ETH_ALEN) |
---|
27 | 28 | #define STA_PR_FMT " sta:%pM" |
---|
28 | 29 | #define STA_PR_ARG __entry->sta_addr |
---|
.. | .. |
---|
37 | 38 | #define VIF_PR_ARG __get_str(vif_name), __entry->vif_type, __entry->p2p ? "/p2p" : "" |
---|
38 | 39 | |
---|
39 | 40 | #define CHANDEF_ENTRY __field(u32, control_freq) \ |
---|
| 41 | + __field(u32, freq_offset) \ |
---|
40 | 42 | __field(u32, chan_width) \ |
---|
41 | 43 | __field(u32, center_freq1) \ |
---|
| 44 | + __field(u32, freq1_offset) \ |
---|
42 | 45 | __field(u32, center_freq2) |
---|
43 | 46 | #define CHANDEF_ASSIGN(c) \ |
---|
44 | 47 | __entry->control_freq = (c) ? ((c)->chan ? (c)->chan->center_freq : 0) : 0; \ |
---|
| 48 | + __entry->freq_offset = (c) ? ((c)->chan ? (c)->chan->freq_offset : 0) : 0; \ |
---|
45 | 49 | __entry->chan_width = (c) ? (c)->width : 0; \ |
---|
46 | 50 | __entry->center_freq1 = (c) ? (c)->center_freq1 : 0; \ |
---|
| 51 | + __entry->freq1_offset = (c) ? (c)->freq1_offset : 0; \ |
---|
47 | 52 | __entry->center_freq2 = (c) ? (c)->center_freq2 : 0; |
---|
48 | | -#define CHANDEF_PR_FMT " control:%d MHz width:%d center: %d/%d MHz" |
---|
49 | | -#define CHANDEF_PR_ARG __entry->control_freq, __entry->chan_width, \ |
---|
50 | | - __entry->center_freq1, __entry->center_freq2 |
---|
| 53 | +#define CHANDEF_PR_FMT " control:%d.%03d MHz width:%d center: %d.%03d/%d MHz" |
---|
| 54 | +#define CHANDEF_PR_ARG __entry->control_freq, __entry->freq_offset, __entry->chan_width, \ |
---|
| 55 | + __entry->center_freq1, __entry->freq1_offset, __entry->center_freq2 |
---|
51 | 56 | |
---|
52 | 57 | #define MIN_CHANDEF_ENTRY \ |
---|
53 | 58 | __field(u32, min_control_freq) \ |
---|
| 59 | + __field(u32, min_freq_offset) \ |
---|
54 | 60 | __field(u32, min_chan_width) \ |
---|
55 | 61 | __field(u32, min_center_freq1) \ |
---|
| 62 | + __field(u32, min_freq1_offset) \ |
---|
56 | 63 | __field(u32, min_center_freq2) |
---|
57 | 64 | |
---|
58 | 65 | #define MIN_CHANDEF_ASSIGN(c) \ |
---|
59 | 66 | __entry->min_control_freq = (c)->chan ? (c)->chan->center_freq : 0; \ |
---|
| 67 | + __entry->min_freq_offset = (c)->chan ? (c)->chan->freq_offset : 0; \ |
---|
60 | 68 | __entry->min_chan_width = (c)->width; \ |
---|
61 | 69 | __entry->min_center_freq1 = (c)->center_freq1; \ |
---|
| 70 | + __entry->min_freq1_offset = (c)->freq1_offset; \ |
---|
62 | 71 | __entry->min_center_freq2 = (c)->center_freq2; |
---|
63 | | -#define MIN_CHANDEF_PR_FMT " min_control:%d MHz min_width:%d min_center: %d/%d MHz" |
---|
64 | | -#define MIN_CHANDEF_PR_ARG __entry->min_control_freq, __entry->min_chan_width, \ |
---|
65 | | - __entry->min_center_freq1, __entry->min_center_freq2 |
---|
| 72 | +#define MIN_CHANDEF_PR_FMT " min_control:%d.%03d MHz min_width:%d min_center: %d.%03d/%d MHz" |
---|
| 73 | +#define MIN_CHANDEF_PR_ARG __entry->min_control_freq, __entry->min_freq_offset, \ |
---|
| 74 | + __entry->min_chan_width, \ |
---|
| 75 | + __entry->min_center_freq1, __entry->min_freq1_offset, \ |
---|
| 76 | + __entry->min_center_freq2 |
---|
66 | 77 | |
---|
67 | 78 | #define CHANCTX_ENTRY CHANDEF_ENTRY \ |
---|
68 | 79 | MIN_CHANDEF_ENTRY \ |
---|
.. | .. |
---|
408 | 419 | __field(u32, basic_rates) |
---|
409 | 420 | __array(int, mcast_rate, NUM_NL80211_BANDS) |
---|
410 | 421 | __field(u16, ht_operation_mode) |
---|
411 | | - __field(s32, cqm_rssi_thold); |
---|
412 | | - __field(s32, cqm_rssi_hyst); |
---|
413 | | - __field(u32, channel_width); |
---|
414 | | - __field(u32, channel_cfreq1); |
---|
| 422 | + __field(s32, cqm_rssi_thold) |
---|
| 423 | + __field(s32, cqm_rssi_hyst) |
---|
| 424 | + __field(u32, channel_width) |
---|
| 425 | + __field(u32, channel_cfreq1) |
---|
| 426 | + __field(u32, channel_cfreq1_offset) |
---|
415 | 427 | __dynamic_array(u32, arp_addr_list, |
---|
416 | 428 | info->arp_addr_cnt > IEEE80211_BSS_ARP_ADDR_LIST_LEN ? |
---|
417 | 429 | IEEE80211_BSS_ARP_ADDR_LIST_LEN : |
---|
418 | | - info->arp_addr_cnt); |
---|
419 | | - __field(int, arp_addr_cnt); |
---|
420 | | - __field(bool, qos); |
---|
421 | | - __field(bool, idle); |
---|
422 | | - __field(bool, ps); |
---|
423 | | - __dynamic_array(u8, ssid, info->ssid_len); |
---|
424 | | - __field(bool, hidden_ssid); |
---|
| 430 | + info->arp_addr_cnt) |
---|
| 431 | + __field(int, arp_addr_cnt) |
---|
| 432 | + __field(bool, qos) |
---|
| 433 | + __field(bool, idle) |
---|
| 434 | + __field(bool, ps) |
---|
| 435 | + __dynamic_array(u8, ssid, info->ssid_len) |
---|
| 436 | + __field(bool, hidden_ssid) |
---|
425 | 437 | __field(int, txpower) |
---|
426 | 438 | __field(u8, p2p_oppps_ctwindow) |
---|
427 | 439 | ), |
---|
.. | .. |
---|
452 | 464 | __entry->cqm_rssi_hyst = info->cqm_rssi_hyst; |
---|
453 | 465 | __entry->channel_width = info->chandef.width; |
---|
454 | 466 | __entry->channel_cfreq1 = info->chandef.center_freq1; |
---|
| 467 | + __entry->channel_cfreq1_offset = info->chandef.freq1_offset; |
---|
455 | 468 | __entry->arp_addr_cnt = info->arp_addr_cnt; |
---|
456 | 469 | memcpy(__get_dynamic_array(arp_addr_list), info->arp_addr_list, |
---|
457 | 470 | sizeof(u32) * (info->arp_addr_cnt > IEEE80211_BSS_ARP_ADDR_LIST_LEN ? |
---|
.. | .. |
---|
828 | 841 | ) |
---|
829 | 842 | ); |
---|
830 | 843 | |
---|
| 844 | +TRACE_EVENT(drv_sta_set_txpwr, |
---|
| 845 | + TP_PROTO(struct ieee80211_local *local, |
---|
| 846 | + struct ieee80211_sub_if_data *sdata, |
---|
| 847 | + struct ieee80211_sta *sta), |
---|
| 848 | + |
---|
| 849 | + TP_ARGS(local, sdata, sta), |
---|
| 850 | + |
---|
| 851 | + TP_STRUCT__entry( |
---|
| 852 | + LOCAL_ENTRY |
---|
| 853 | + VIF_ENTRY |
---|
| 854 | + STA_ENTRY |
---|
| 855 | + __field(s16, txpwr) |
---|
| 856 | + __field(u8, type) |
---|
| 857 | + ), |
---|
| 858 | + |
---|
| 859 | + TP_fast_assign( |
---|
| 860 | + LOCAL_ASSIGN; |
---|
| 861 | + VIF_ASSIGN; |
---|
| 862 | + STA_ASSIGN; |
---|
| 863 | + __entry->txpwr = sta->txpwr.power; |
---|
| 864 | + __entry->type = sta->txpwr.type; |
---|
| 865 | + ), |
---|
| 866 | + |
---|
| 867 | + TP_printk( |
---|
| 868 | + LOCAL_PR_FMT VIF_PR_FMT STA_PR_FMT " txpwr: %d type %d", |
---|
| 869 | + LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, |
---|
| 870 | + __entry->txpwr, __entry->type |
---|
| 871 | + ) |
---|
| 872 | +); |
---|
| 873 | + |
---|
831 | 874 | TRACE_EVENT(drv_sta_rc_update, |
---|
832 | 875 | TP_PROTO(struct ieee80211_local *local, |
---|
833 | 876 | struct ieee80211_sub_if_data *sdata, |
---|
.. | .. |
---|
1052 | 1095 | ); |
---|
1053 | 1096 | |
---|
1054 | 1097 | TRACE_EVENT(drv_get_survey, |
---|
1055 | | - TP_PROTO(struct ieee80211_local *local, int idx, |
---|
| 1098 | + TP_PROTO(struct ieee80211_local *local, int _idx, |
---|
1056 | 1099 | struct survey_info *survey), |
---|
1057 | 1100 | |
---|
1058 | | - TP_ARGS(local, idx, survey), |
---|
| 1101 | + TP_ARGS(local, _idx, survey), |
---|
1059 | 1102 | |
---|
1060 | 1103 | TP_STRUCT__entry( |
---|
1061 | 1104 | LOCAL_ENTRY |
---|
.. | .. |
---|
1064 | 1107 | |
---|
1065 | 1108 | TP_fast_assign( |
---|
1066 | 1109 | LOCAL_ASSIGN; |
---|
1067 | | - __entry->idx = idx; |
---|
| 1110 | + __entry->idx = _idx; |
---|
1068 | 1111 | ), |
---|
1069 | 1112 | |
---|
1070 | 1113 | TP_printk( |
---|
.. | .. |
---|
1193 | 1236 | LOCAL_ENTRY |
---|
1194 | 1237 | VIF_ENTRY |
---|
1195 | 1238 | __field(int, center_freq) |
---|
| 1239 | + __field(int, freq_offset) |
---|
1196 | 1240 | __field(unsigned int, duration) |
---|
1197 | 1241 | __field(u32, type) |
---|
1198 | 1242 | ), |
---|
.. | .. |
---|
1201 | 1245 | LOCAL_ASSIGN; |
---|
1202 | 1246 | VIF_ASSIGN; |
---|
1203 | 1247 | __entry->center_freq = chan->center_freq; |
---|
| 1248 | + __entry->freq_offset = chan->freq_offset; |
---|
1204 | 1249 | __entry->duration = duration; |
---|
1205 | 1250 | __entry->type = type; |
---|
1206 | 1251 | ), |
---|
1207 | 1252 | |
---|
1208 | 1253 | TP_printk( |
---|
1209 | | - LOCAL_PR_FMT VIF_PR_FMT " freq:%dMHz duration:%dms type=%d", |
---|
| 1254 | + LOCAL_PR_FMT VIF_PR_FMT " freq:%d.%03dMHz duration:%dms type=%d", |
---|
1210 | 1255 | LOCAL_PR_ARG, VIF_PR_ARG, |
---|
1211 | | - __entry->center_freq, __entry->duration, __entry->type |
---|
| 1256 | + __entry->center_freq, __entry->freq_offset, |
---|
| 1257 | + __entry->duration, __entry->type |
---|
1212 | 1258 | ) |
---|
1213 | 1259 | ); |
---|
1214 | 1260 | |
---|
1215 | | -DEFINE_EVENT(local_only_evt, drv_cancel_remain_on_channel, |
---|
1216 | | - TP_PROTO(struct ieee80211_local *local), |
---|
1217 | | - TP_ARGS(local) |
---|
| 1261 | +DEFINE_EVENT(local_sdata_evt, drv_cancel_remain_on_channel, |
---|
| 1262 | + TP_PROTO(struct ieee80211_local *local, |
---|
| 1263 | + struct ieee80211_sub_if_data *sdata), |
---|
| 1264 | + TP_ARGS(local, sdata) |
---|
1218 | 1265 | ); |
---|
1219 | 1266 | |
---|
1220 | 1267 | TRACE_EVENT(drv_set_ringparam, |
---|
.. | .. |
---|
1515 | 1562 | |
---|
1516 | 1563 | struct trace_chandef_entry { |
---|
1517 | 1564 | u32 control_freq; |
---|
| 1565 | + u32 freq_offset; |
---|
1518 | 1566 | u32 chan_width; |
---|
1519 | 1567 | u32 center_freq1; |
---|
| 1568 | + u32 freq1_offset; |
---|
1520 | 1569 | u32 center_freq2; |
---|
1521 | 1570 | } __packed; |
---|
1522 | 1571 | |
---|
.. | .. |
---|
1566 | 1615 | sizeof(local_vifs[i].vif.vif_name)); |
---|
1567 | 1616 | SWITCH_ENTRY_ASSIGN(old_chandef.control_freq, |
---|
1568 | 1617 | old_ctx->def.chan->center_freq); |
---|
| 1618 | + SWITCH_ENTRY_ASSIGN(old_chandef.freq_offset, |
---|
| 1619 | + old_ctx->def.chan->freq_offset); |
---|
1569 | 1620 | SWITCH_ENTRY_ASSIGN(old_chandef.chan_width, |
---|
1570 | 1621 | old_ctx->def.width); |
---|
1571 | 1622 | SWITCH_ENTRY_ASSIGN(old_chandef.center_freq1, |
---|
1572 | 1623 | old_ctx->def.center_freq1); |
---|
| 1624 | + SWITCH_ENTRY_ASSIGN(old_chandef.freq1_offset, |
---|
| 1625 | + old_ctx->def.freq1_offset); |
---|
1573 | 1626 | SWITCH_ENTRY_ASSIGN(old_chandef.center_freq2, |
---|
1574 | 1627 | old_ctx->def.center_freq2); |
---|
1575 | 1628 | SWITCH_ENTRY_ASSIGN(new_chandef.control_freq, |
---|
1576 | 1629 | new_ctx->def.chan->center_freq); |
---|
| 1630 | + SWITCH_ENTRY_ASSIGN(new_chandef.freq_offset, |
---|
| 1631 | + new_ctx->def.chan->freq_offset); |
---|
1577 | 1632 | SWITCH_ENTRY_ASSIGN(new_chandef.chan_width, |
---|
1578 | 1633 | new_ctx->def.width); |
---|
1579 | 1634 | SWITCH_ENTRY_ASSIGN(new_chandef.center_freq1, |
---|
1580 | 1635 | new_ctx->def.center_freq1); |
---|
| 1636 | + SWITCH_ENTRY_ASSIGN(new_chandef.freq1_offset, |
---|
| 1637 | + new_ctx->def.freq1_offset); |
---|
1581 | 1638 | SWITCH_ENTRY_ASSIGN(new_chandef.center_freq2, |
---|
1582 | 1639 | new_ctx->def.center_freq2); |
---|
1583 | 1640 | } |
---|
.. | .. |
---|
1641 | 1698 | VIF_ENTRY |
---|
1642 | 1699 | __field(u8, dtimper) |
---|
1643 | 1700 | __field(u16, bcnint) |
---|
1644 | | - __dynamic_array(u8, ssid, info->ssid_len); |
---|
1645 | | - __field(bool, hidden_ssid); |
---|
| 1701 | + __dynamic_array(u8, ssid, info->ssid_len) |
---|
| 1702 | + __field(bool, hidden_ssid) |
---|
1646 | 1703 | ), |
---|
1647 | 1704 | |
---|
1648 | 1705 | TP_fast_assign( |
---|
.. | .. |
---|
1708 | 1765 | VIF_ENTRY |
---|
1709 | 1766 | __field(u8, dtimper) |
---|
1710 | 1767 | __field(u16, bcnint) |
---|
1711 | | - __dynamic_array(u8, ssid, info->ssid_len); |
---|
| 1768 | + __dynamic_array(u8, ssid, info->ssid_len) |
---|
1712 | 1769 | ), |
---|
1713 | 1770 | |
---|
1714 | 1771 | TP_fast_assign( |
---|
.. | .. |
---|
1880 | 1937 | ", instance_id: %u", |
---|
1881 | 1938 | LOCAL_PR_ARG, VIF_PR_ARG, __entry->instance_id |
---|
1882 | 1939 | ) |
---|
| 1940 | +); |
---|
| 1941 | + |
---|
| 1942 | +DEFINE_EVENT(local_sdata_evt, drv_start_pmsr, |
---|
| 1943 | + TP_PROTO(struct ieee80211_local *local, |
---|
| 1944 | + struct ieee80211_sub_if_data *sdata), |
---|
| 1945 | + TP_ARGS(local, sdata) |
---|
| 1946 | +); |
---|
| 1947 | + |
---|
| 1948 | +DEFINE_EVENT(local_sdata_evt, drv_abort_pmsr, |
---|
| 1949 | + TP_PROTO(struct ieee80211_local *local, |
---|
| 1950 | + struct ieee80211_sub_if_data *sdata), |
---|
| 1951 | + TP_ARGS(local, sdata) |
---|
1883 | 1952 | ); |
---|
1884 | 1953 | |
---|
1885 | 1954 | /* |
---|
.. | .. |
---|
2440 | 2509 | TP_ARGS(local, sdata) |
---|
2441 | 2510 | ); |
---|
2442 | 2511 | |
---|
| 2512 | +DEFINE_EVENT(local_sdata_evt, drv_abort_channel_switch, |
---|
| 2513 | + TP_PROTO(struct ieee80211_local *local, |
---|
| 2514 | + struct ieee80211_sub_if_data *sdata), |
---|
| 2515 | + TP_ARGS(local, sdata) |
---|
| 2516 | +); |
---|
| 2517 | + |
---|
| 2518 | +TRACE_EVENT(drv_channel_switch_rx_beacon, |
---|
| 2519 | + TP_PROTO(struct ieee80211_local *local, |
---|
| 2520 | + struct ieee80211_sub_if_data *sdata, |
---|
| 2521 | + struct ieee80211_channel_switch *ch_switch), |
---|
| 2522 | + |
---|
| 2523 | + TP_ARGS(local, sdata, ch_switch), |
---|
| 2524 | + |
---|
| 2525 | + TP_STRUCT__entry( |
---|
| 2526 | + LOCAL_ENTRY |
---|
| 2527 | + VIF_ENTRY |
---|
| 2528 | + CHANDEF_ENTRY |
---|
| 2529 | + __field(u64, timestamp) |
---|
| 2530 | + __field(u32, device_timestamp) |
---|
| 2531 | + __field(bool, block_tx) |
---|
| 2532 | + __field(u8, count) |
---|
| 2533 | + ), |
---|
| 2534 | + |
---|
| 2535 | + TP_fast_assign( |
---|
| 2536 | + LOCAL_ASSIGN; |
---|
| 2537 | + VIF_ASSIGN; |
---|
| 2538 | + CHANDEF_ASSIGN(&ch_switch->chandef) |
---|
| 2539 | + __entry->timestamp = ch_switch->timestamp; |
---|
| 2540 | + __entry->device_timestamp = ch_switch->device_timestamp; |
---|
| 2541 | + __entry->block_tx = ch_switch->block_tx; |
---|
| 2542 | + __entry->count = ch_switch->count; |
---|
| 2543 | + ), |
---|
| 2544 | + |
---|
| 2545 | + TP_printk( |
---|
| 2546 | + LOCAL_PR_FMT VIF_PR_FMT |
---|
| 2547 | + " received a channel switch beacon to " |
---|
| 2548 | + CHANDEF_PR_FMT " count:%d block_tx:%d timestamp:%llu", |
---|
| 2549 | + LOCAL_PR_ARG, VIF_PR_ARG, CHANDEF_PR_ARG, __entry->count, |
---|
| 2550 | + __entry->block_tx, __entry->timestamp |
---|
| 2551 | + ) |
---|
| 2552 | +); |
---|
| 2553 | + |
---|
2443 | 2554 | TRACE_EVENT(drv_get_txpower, |
---|
2444 | 2555 | TP_PROTO(struct ieee80211_local *local, |
---|
2445 | 2556 | struct ieee80211_sub_if_data *sdata, |
---|
.. | .. |
---|
2600 | 2711 | ) |
---|
2601 | 2712 | ); |
---|
2602 | 2713 | |
---|
| 2714 | +TRACE_EVENT(drv_get_ftm_responder_stats, |
---|
| 2715 | + TP_PROTO(struct ieee80211_local *local, |
---|
| 2716 | + struct ieee80211_sub_if_data *sdata, |
---|
| 2717 | + struct cfg80211_ftm_responder_stats *ftm_stats), |
---|
| 2718 | + |
---|
| 2719 | + TP_ARGS(local, sdata, ftm_stats), |
---|
| 2720 | + |
---|
| 2721 | + TP_STRUCT__entry( |
---|
| 2722 | + LOCAL_ENTRY |
---|
| 2723 | + VIF_ENTRY |
---|
| 2724 | + ), |
---|
| 2725 | + |
---|
| 2726 | + TP_fast_assign( |
---|
| 2727 | + LOCAL_ASSIGN; |
---|
| 2728 | + VIF_ASSIGN; |
---|
| 2729 | + ), |
---|
| 2730 | + |
---|
| 2731 | + TP_printk( |
---|
| 2732 | + LOCAL_PR_FMT VIF_PR_FMT, |
---|
| 2733 | + LOCAL_PR_ARG, VIF_PR_ARG |
---|
| 2734 | + ) |
---|
| 2735 | +); |
---|
| 2736 | + |
---|
| 2737 | +DEFINE_EVENT(local_sdata_addr_evt, drv_update_vif_offload, |
---|
| 2738 | + TP_PROTO(struct ieee80211_local *local, |
---|
| 2739 | + struct ieee80211_sub_if_data *sdata), |
---|
| 2740 | + TP_ARGS(local, sdata) |
---|
| 2741 | +); |
---|
| 2742 | + |
---|
| 2743 | +TRACE_EVENT(drv_sta_set_4addr, |
---|
| 2744 | + TP_PROTO(struct ieee80211_local *local, |
---|
| 2745 | + struct ieee80211_sub_if_data *sdata, |
---|
| 2746 | + struct ieee80211_sta *sta, bool enabled), |
---|
| 2747 | + |
---|
| 2748 | + TP_ARGS(local, sdata, sta, enabled), |
---|
| 2749 | + |
---|
| 2750 | + TP_STRUCT__entry( |
---|
| 2751 | + LOCAL_ENTRY |
---|
| 2752 | + VIF_ENTRY |
---|
| 2753 | + STA_ENTRY |
---|
| 2754 | + __field(bool, enabled) |
---|
| 2755 | + ), |
---|
| 2756 | + |
---|
| 2757 | + TP_fast_assign( |
---|
| 2758 | + LOCAL_ASSIGN; |
---|
| 2759 | + VIF_ASSIGN; |
---|
| 2760 | + STA_ASSIGN; |
---|
| 2761 | + __entry->enabled = enabled; |
---|
| 2762 | + ), |
---|
| 2763 | + |
---|
| 2764 | + TP_printk( |
---|
| 2765 | + LOCAL_PR_FMT VIF_PR_FMT STA_PR_FMT " enabled:%d", |
---|
| 2766 | + LOCAL_PR_ARG, VIF_PR_ARG, STA_PR_ARG, __entry->enabled |
---|
| 2767 | + ) |
---|
| 2768 | +); |
---|
| 2769 | + |
---|
2603 | 2770 | #endif /* !__MAC80211_DRIVER_TRACE || TRACE_HEADER_MULTI_READ */ |
---|
2604 | 2771 | |
---|
2605 | 2772 | #undef TRACE_INCLUDE_PATH |
---|